═══ 1. How to use FM/2's help (Read me first!) ═══ The best way to use FM/2's help, which is basically a hypertext document, is to look at the Contents (which you'll get if you press Ctrl + F1 at the main window -- it may help you to maximize it within the help window). The Contents view of a help file is something like the Table of Contents in a book, with each major topic representing a chapter. Some topics have a "+" sign beside them to indicate that there are subtopics available in a hierarchal inverted tree structure; click the "+" and they'll be revealed. The help sometimes has hypertext links shown in a different color, like the words "Context menu" a few paragraphs below. You can select these links to switch to a different topic related to the highlighted word(s). In this way you can browse through the help, moving from topic to topic as you feel the need for more specific help. The Previous button (or the Escape key) will move backwards through the hypertext links you've followed. To find something on a specific topic, click the Search button at the bottom of the help window and enter some text. This might be analogous to the index at the back of a book (although the help manager also provides an "index" of its own, which is something like the Contents window with the hierarchy removed -- difficult to browse, in my opinion). A couple of Search examples to give you the feel of the process: To find out about changing a volume label, enter "Label" as the "Search for:" text, check the "All sections" checkbox, then press [Enter]. To find out how to open a new FM/2 window, enter "Open" as the "Search for:" text, check the "All sections" checkbox, then press [Enter]. If you'd like a printout of any of the topics in the online help, click the Print button at the bottom of the help window. The Context menu help topic would probably be a good one to print out. Remember that you can also use the FM/2 Online Help icon in the FM/2 folder to view the help without starting FM/2 itself. If you're stuck in a dialog, click that dialog's Help button. That will usually take you directly to appropriate help. One note of caution: if you call up help for a dialog, be sure to dismiss the help before dismissing the dialog. Many of the dialogs run in threads other than thread 1 (the main thread), and there's a long-standing OS/2 bug that causes weird behavior if you do it the other way around to a dialog run in a thread other than thread 1. Trust me. So, if you're totally new to FM/2, how to get started? First, run the OS/2 Tutorial if you need help on the basics of using a mouse in general or using one with OS/2 in particular. Next, read the help section titled Terminology so we'll understand each other a bit better. If you're still nervous about OS/2 conventions, try FM/2's Tutorial topic for real hand-holding. Then plunge into the General Help topic to find out how to look at, Move, Copy, Rename and Compare files and directories (the basics). That will get you started, and we'll give you hints along the way about other places you might like to look (like Hints :-) when you're ready. The previously mentioned Context menus topic will give you an overview of all the commands available in FM/2 (and there are a lot of commands you can use). Since some folks are at first overwhelmed by FM/2's configurability, take a look in the internal Settings notebook (accessible under the Config menu), specifically at the Quick page. There you'll see a few "standard" configurations you can try out to perhaps get an idea of the range of appearance and performance you can get out of FM/2 via the Settings notebook and Config menu. Command line help is in the READ.ME file that accompanied the archive, since you should have read that before trying to start FM/2. You did, didn't you? There is one thing you should keep in mind about FM/2. FM/2 is extremely powerful and has a lot of features, but you don't have to use or even know them all. Most people will use only a few of FM/2's features on a regular basis (and not everyone will use the same combination), and that's fine -- find what works best for you and use it. If you find yourself needing some other feature, call up the help, find it, and use it -- it'll be there whenever you need it. But don't feel that, somehow, by not using every little nook and cranny of the program that you're missing out on something. The idea is to use what you need; pick your tools from the arsenal and get some work done. On the other hand, always assume that there's a way to do what you want with FM/2 (chances are good that there is), and ask the help window to Search for it. If you can't find it there, check into the Compuserve OS2SHARE forum (right now section 1 of the OS2BVEN forum, but that could change) for help. ═══ 2. FM/2 Window Layouts ═══ The following layouts are available for viewing: Overall FM/2 window Drive Tree window layout Directory Container window layout Archive Container window layout Text viewer window layout ═══ 2.1. Overall FM/2 window ═══ Note: You can turn optional windows and controls on and off. Pick the ones you like, get the others out of your way. Surely no one uses all of them at the same time... Miscellaneous notes: Minimized Directory Containers can be used as drag and drop targets. The Name, Date/Time, and Attributes buttons display information about the current object as well as activate commands when clicked. The Filter button shows you if you have any filtering in effect, including whether any attributes are being used to filter ( appears after the mask, if any). The Toolboxes drop-down list only appears when the Toolbar is visible (see Using userlists topic). The Walk button opens a new Directory Container if clicked, switches the current Directory Container if clicked with B2, and tiles the main FM/2 window if clicked with B3. The Interface button toggles the User lists off and on if clicked, toggles the Toolbar off and on if clicked with B2, and toggles the Drive bar off and on if clicked with B3. The Thread LED lights when a background thread is doing work. The number above the LED changes to show how many background threads are working. Not every little thread bothers with this "light," but many of those that take some time and aren't directly related to scanning (for example, copy, move and print operations) do. Click the light with B1 for the Thread Notes window. ═══ 2.2. Drive Tree window ═══ Miscellaneous notes: The Current directory status line only appears when the Drive Tree is running externally (VTREE.EXE, the Visual Directory object in the File Manager/2 folder). When run monolithically (inside the main FM/2 window), the current directory is displayed on the titlebar, and the Open button appears. There are Collapse and Expand commands in the context menus for objects that expand or collapse entire trees. Note that directories are only read from the disk when you expand down to them. ═══ 2.3. Directory Container window ═══ Miscellaneous notes: Status #1 displays the total number of objects in the Directory Container / the kilobytes occupied by those objects. Clicking on this window sets the focus to the Directory Container. If you start a drag on this window, you're dragging the directory into which the Directory Container is "looking." If you drag to this window, you drag into that directory. Status #2 displays the total number of selected (highlighted) objects in the Directory Container / the kilobytes occupied by those selected objects. Clicking this window selects all file objects (left side) or deselects all objects (right side). Chording or clicking the left side of the window performs a Select Mask command, and the same action on the right side performs a Deselect Mask command. The Folder button moves to the parent directory if clicked with B1, moves to the previous directory if clicked with B2, and rescans the current directory if chorded (clicked with both B1 and B2). For more information, see the Folder button topic. If you drag onto this window, the directory into which the Directory Container is "looking" is switched to the directory of the object you dragged. ═══ 2.4. Archive Container window ═══ Miscellaneous notes: Status #1 displays the total number of objects in the Archive Container / the kilobytes occupied by those objects. Clicking on this window sets the focus to the Archive Container. If you drag objects onto this window, they'll be added to the archive. Status #2 displays the total number of selected (highlighted) objects in the Archive Container / the kilobytes occupied by those selected objects. Clicking this window selects all objects (left side) or deselects all objects (right side). The Folder button lets you walk to a new extract directory if clicked with B1 or B2, and rescans the current directory if chorded (clicked with both B1 and B2). For more information, see the Folder button topic. If you drag an object onto this button, the extract directory is set to the directory of the object you dragged. The extract directory can be edited directly in the entry field at the bottom of this window. There are several FM/2 options for setting the default extract directory for an archive -- see the Archive page of the internal Settings notebook for more information. ═══ 2.5. Text viewer window ═══ Miscellaneous notes: The Prev blank line and Next blank line buttons have the effect of going to the previous/next paragraph in text files where paragraphs are delimited by blank lines. Status #1 displays the number of bytes and lines in the file. Clicking it sets the focus to the viewer window. Status #2 displays the current line number in the file. Clicking it allows you to jump to a specific line. Status #3 displays the current offset in the file. Clicking it allows you to jump to a specific offset. The Hex/drag-me button toggles hex/ASCII mode if clicked. If you start a drag from this button, you'll be dragging the file that's being viewed. The Marked line window appears when you double-click a line in the viewer window. Selecting a line in this Marked line window moves the viewer window to that line. Double-click a line in the Marked line window to remove it (it vanishes when all lines are removed). You can gather lines in this window and export them to the clipboard (you can also export selected lines from the viewer window itself). ═══ 3. General Help ═══ FM/2's main purpose is to show you what's on your file system and let you sling what's there around. Here we'll cover the basics. Some familiarity with OS/2's WPS (WorkPlace Shell) is assumed. If you need refreshing, run the OS/2 Tutorial. It's also assumed that you've already read the How to use FM/2's help and Terminology topics. If you feel that you need more in-depth help when we're through with this topic, try FM/2's Tutorial topic. There are several ways to view a directory with FM/2, just as there are with the WPS. Icon, Name, Text and Details views all offer different perspectives into the directory being "looked at" (see Terminology). Views showing icons can use full-sized icons or smaller "mini-icons" to save space. Details view can show a great deal of information about file system objects, and you can customize what is shown with the Details Setup submenu (under the Views menu or a Directory Container window's context menu). You can also place some limits on the amount of detail that FM/2 loads from the file system with the Toggles page of the Settings notebook. This can speed up FM/2's scanning of directories but can also make for duller screens and less information being presented to you. My advice to you is to enjoy the bells and whistles OS/2 and PM provide. Take a moment to set up the look of your Directory Container windows to match your taste -- everyone likes something different. Then meet me back here and we'll talk about manipulating those objects you see... As we talk about manipulating objects, keep firmly in mind the concepts of "current object" and "highlighted objects". The current object is the one on which commands act (it has the dotted outline around it). If the current object is also highlighted, all highlighted objects will be affected. Renaming file system objects: The simplest way to rename a file system object is to point at it with the mouse pointer, hold down the ALT key, and click the text of its name. OS/2 produces a mini MLE text entry field where you can type in a new name (this is Direct Editing). When finished, click the object and a rename is performed. Note that you can even move the object to another directory when you do this. (Also note that in Details view you can direct-edit the Subject field to change an object's Subject, and the Longname field to change an object's Longname on FAT drives.) Using this method will not allow you to overwrite an existing file. You can use drag and drop (as detailed below for Move) or the menu command Rename or the toolbar to allow overwriting. Moving file system objects: There are several ways to move a file system object. The best and most intuitive is drag and drop. Using this method, you "grab" the file system object by pressing and holding B2 while the mouse pointer is over the object, then begin to move the mouse (still holding B2). The object's icon should begin to move with the mouse pointer. "Drag" this icon to where you want to move it (for instance, if you want to move a file from C:\ to D:\, drag the file to the Drive Tree's D:\ object). When the object is where you want it, release B2 and the move is done. When dragging an object into a Directory Container, remember that to place it into the directory into which the Directory Container "looks" you need to drop it on container "whitespace" (a part of the container not occupied by an object). For convenience, the two recessed status areas at the top of the container are considered whitespace. If you get confused when dragging object(s), press the F1 key. This will give you some information about what you're doing. Pressing the Escape key will abort the drag. Note that you can't move a file or directory onto another file (except for archive targets), only into a directory (moving into container whitespace in a Directory Container window is the same as moving into the directory the Directory Container "looks" into, and a minimized Directory Container window is "all whitespace"). Also note that the object you grab becomes the current object, and if it's also highlighted you'll drag all highlighted objects (you'll see visual feedback to this effect). You could, of course, also select "Move" from the Files menu or a context menu, or click the Move toolbar button, or type the accelerator key Ctrl + m (hold the control key down and type "m"). In this case, you'll get the Walk Directories dialog where you can enter a target directory. Copying file system objects: The procedure for copying file system objects is very similar to that for moving them. When you begin to drag the object, and until you release it, hold down the control (Ctrl) key. You'll notice that the dragged icon is "ghosted" to give visual feedback that a copy, not a move, is being performed. Note that you can copy a file onto an archive file as well as into a directory. You can also "clone" a file by dropping it into the directory where it already resides -- you'll get a rename dialog that will allow you to change the name, creating a file exactly like the other with a different name. As for move above, there is a "Copy" menu item and a toolbar button, and Ctrl + c is the accelerator key. There is one other type of drag and drop operation called a "link drag." To link drag, hold down the Ctrl and Shift keys while dragging. You'll see a "rubber band line" extend from where you grabbed the icon to the mouse pointer as a visual cue. Link dragging is usually used within FM/2 to do compare operations (see also Link Sets Icon toggle). What you drag will be compared to what you drop it on. Note, however, that if you drag to a WPS object (like the desktop or other folder), OS/2's version of a link drag is performed, which usually results in a shadow object being created. Double-clicking an object in a Directory Container window causes a default action to take place. What that action is depends on the type of object and how you've configured FM/2. Here's a breakdown: If the object is a directory, the Directory Container switches to look into that directory. If it's a file, FM/2 first checks to see if you've assigned any Associations that match the filename and signature (if applicable). Next, FM/2 tries to view the file as an archive. If it's not an archive, FM/2 checks to see if the file's an executable and runs it if so. Then INI and HLP files are checked by extensions and viewed as such. If all else fails, FM/2 views the file using the configured or internal viewer. In the Drive Tree, holding down the Shift key while double-clicking causes a new FM/2 Directory Container to be opened, and holding down the Ctrl key while double-clicking causes a WPS folder to be opened. In Directory Containers, holding down the Ctrl key while double-clicking causes the default WPS open to be performed on the object (this honors WPS associations, runs executables, opens folders in their default view, or opens the Settings notebook for the object -- whatever double-clicking on the object in the WPS would do), and holding down the Shift key while double-clicking causes the file to be directly Viewed, bypassing the other steps listed above (for file objects; directory objects cause another FM/2 window to be opened). Other commands are accessed via pulldown or context menu commands or toolbar buttons. You can read about them by selecting the highlighted words "context menu" in this paragraph. FM/2 also offers several general utilities and many configuration options which you may want to explore. But you now know how to perform the file system maintenance basics: Move, Copy, Rename and Compare. You are now, as the Smothers Brothers said, educated. For more specific information on FM/2, click the Contents button at the bottom of the help window. If you're still confused on the basics, try the FM/2 Tutorial topic. You might also want to look at the Opening a Directory Container, Using user lists and Window layouts topics. ═══ 4. Opening a Directory Container ═══ There are several ways to open a Directory Container. The most common is to double-click a directory in the Drive Tree. If no Directory Container windows are open, one is created. If one or more Directory Container windows are already open, hold down the Shift key while double-clicking (see picture below) -- otherwise the default action is to switch the most recently used Directory Container to the new directory rather than open a new one. An alternative is to click the Open button in the Drive Tree's titlebar (see location indicated by the mouse pointer in the snapshot below). This opens a window for the directory highlighted in the Drive Tree. Another alternative is to select the Open->New FM/2 Window command from the Files menu with the Drive Tree active, or (preferred) a context menu obtained on the directory you want to open (remember, you get a context menu by clicking mouse button 2 on an object). Yet another alternative is to invoke the Utilities->Open Directory Container command (Ctrl + O accelerator -- remember, that "O" needs to be uppercase, so Shift if necessary). Using this command invokes the Walk Directories dialog and lets you pick the directory to open. The Walk (walking dude) button near the bottom right corner of the FM/2 window also invokes this command. You can even drag a file system object onto this button to open a new Directory Container for that object's directory. Finally, if you have the Drivebar toggled on (see the Config menu topic) and a 3-button mouse, you can click B3 (or hold down Ctrl while clicking B2) on one of the drive icons to open a Directory Container for that drive (unless one already exists, in which case it'll be surfaced and activated). Now, if that's not enough ways to open a Directory Container, I give up -- go on back to Windoze and the Billy-mandated one way. :-) You can also open directories from their objects in a Directory Container via context menu, Files menu or using the Shift modifier while double-clicking. ═══ 5. Using User Lists ═══ FM/2's optional User Lists (dropdown combo boxes) provide quick access to: o Drives in the Drive Tree. o Saved states. o Often used directories you've configured (see Walk Directories dialog). o Toolboxes (if the Toolbar's on). You turn the User Lists on and off using the Config->Toggle quicklists command (F8 accelerator). The first list (starting from the left) contains drives. If you select a drive from the list, the Drive Tree scrolls to that drive and makes it the current object in the Drive Tree. This can be handy when you have the tree expanded and don't want to collapse it. This list is readonly. The second list is the State list, containing the names of saved States of the FM/2 window (what directories are open, where the windows are located, etc.). You can add to this list by typing a name into the entry field, requesting a context menu on the entry field, then selecting Save State as name from the context menu. FM/2 will save its current State under that name for later recall. This can be handy if you have different setups that you use frequently, as you can save and recall them when you need them rather than opening containers and setting them up to point at the directories you want and positioning them where you want each time. For example, let's say you're connected to a LAN and have a BBS system running. You might want one State set up specifically for dealing with the LAN, one set up specifically for maintaining the BBS, and another (or few) for general work. Once you've set FM/2 up in each of these conditions and saved the State under an easy-to-recall name, you can quickly move from State to State using the State list. You'll find this much faster and more flexible than the way DOS-think file managers do things. To "edit" a State, first recall it, then change what you want, then delete the State name, then save it again. The third list is the commonly used directory list. You can add a directory to this list as above; type in the name, select Add pathname from a context menu. You can also drag the pathname from the entry field (you'll be dragging the directory itself), or drag an object onto the control to add it to the list. For example, if you have a Directory Container open and decide it'd be nice to have the directory name in this list, start a drag in one of the recessed status boxes at the top of the Directory Container (to either side of the Folder button) and drop the dragged folder on this list. Selecting a directory name from the list results in FM/2 opening a new Directory Container for that path (hold down the Shift key while selecting the path to cause the current Directory Container to switch instead). You can reverse this action with the Userlist switches toggle in the Settings Notebook. In addition, the Recent Dirs toggle can be used to cause FM/2 to automatically add temporary entries for directories that you visit during a session. You can add them as above to make them permanent if you desire. The commonly used directory list, in combination with the State list, allows you to quickly place FM/2 into precisely the configuration you need to get real work done. The last list (only present if the Toolbar is on) is a list of Toolboxes. You can select one from the list. FM/2 automatically maintains this list for you. Initially, the saved toolbox names are read in from disk (the FM/2 directory), and any you subsequently save are added to it on the fly. The FM/2 archive includes a few Toolboxes for you to look at and customize if you'd like. You can use the font and color palettes to set the colors and fonts used in these windows. Note that you must set the entry field and listbox components separately. To set the listbox component, drop onto the button, not the entry field. The Interface (list-and-arrow) button at the bottom right corner of the FM/2 window toggles the userlists on and off. ═══ 6. Tutorial ═══ This tutorial section is provided for the complete novice. If you already know how to use OS/2's WPS in general and have used other OS/2 PM applications, you probably don't need this tutorial. Go forth and be productive. This tutorial addresses the most often used commands in FM/2 -- the only commands that most "file managers" provide. There are, of course, many more commands available in FM/2. However, once you have the methodology for these basic commands mastered, other commands are easy to use. Of course, if you're totally new to OS/2 PM and WPS, you should first run the OS/2 tutorial. I'm not kidding -- PM programs have similar user interfaces, and it all begins with the WPS, so the OS/2 tutorial is a must for the new OS/2 user to begin understanding all his applications. Plesae pick a topic: Using context menus Rename Move Copy Compare View Open Delete Make directory Create archive Extract from archive ═══ 6.1. Context menu tutorial ═══ To request a context menu, first point the mouse arrow at an object. Then click mouse button 2 (B2, usually the right button). A context menu will then appear, if available. The Files menu is a "shadow" of the context menu that would be shown if one were requested over the current object. Keyboard-only users can use the Files menu instead of context menus. But stop being unproductively stubborn, get a pointing device. :-) The Views menu is a "shadow" of the context menu that would be shown if one were requested over whitespace in the current window. To make things a little clearer to users who haven't used OS/2's WPS before, take a look at the following three pictures: A context menu that applies to one item. The mouse arrow still points at the object on which the menu was requested -- that is the object that will be affected by the command selected from the menu. A context menu that applies to several items. The mouse arrow still points at the object on which the menu was requested -- since it is highlighted, all highlighted objects will be affected by the command selected from the menu. A context menu that applies to a container as a whole. The menu was requested over container whitespace, not over any of the objects that it contains. ═══ 6.2. Rename tutorial ═══ Please select a method to learn about: Direct editing Drag and drop Keystrokes ═══ 6.2.1. Rename by direct editing ═══ To rename a file system object, hold down the Alt key and click on the object's name with mouse button 1 (B1, usually the left button). The entire pathname of the object appears in a framed control known as an MLE. You'll initially be located at the start of the pathname; press the End key to get to the end if desired. Type in the new name, then click the file system object again. FM/2 renames the object and updates the display. You can abort the rename by pressing the ESCape key. Return to Tutorial menu ═══ 6.2.2. Rename by drag and drop ═══ To invoke a rename using drag and drop, "grab" a file system object with the mouse by placing the mouse pointer on top of the object and depressing and holding mouse button 2 (B2, usually the right button). Still holding B2, "drag" the object to some whitespace (unoccupied space in the Directory Container -- a blank area) and then release B2. The Rename dialog will then appear and you can enter a new name for the object. You can abort a drag and drop action by pressing the ESCape key. Return to Tutorial menu ═══ 6.2.3. Rename by keystrokes ═══ Place the dotted cursor on the object you want to rename (make it the current object). Press Ctrl + r, the accelerator key for the Rename command, or pick "Rename" from the Files menu. The Rename dialog will then appear and you can enter a new name for the object. Return to Tutorial menu ═══ 6.3. Move tutorial ═══ Please select a method to learn about: Direct editing Drag and drop Keystrokes ═══ 6.3.1. Move by direct editing ═══ To move a file system object, hold down the Alt key and click on the object's name with mouse button 1 (B1, usually the left button). The entire pathname of the object appears in a framed control known as an MLE. You'll initially be located at the start of the pathname. Type in the new pathname, then click the file system object again. FM/2 moves the object and updates the display. You can abort the move by pressing the ESCape key. Return to Tutorial menu ═══ 6.3.2. Move by drag and drop ═══ To move a file system object using drag and drop, "grab" a file system object with the mouse by placing the mouse pointer on top of the object and depressing and holding mouse button 2 (B2, usually the right button). Still holding B2, "drag" the object to its destination (for instance, onto a directory in the Drive Tree), and then release B2. You can abort a drag and drop action by pressing the ESCape key. Return to Tutorial menu ═══ 6.3.3. Move by keystrokes ═══ Place the dotted cursor on the object you want to rename (make it the current object). Press Ctrl + m, the accelerator key for the Move command, or pick "Move" from the Files menu. A dialog known as the Walk Directories dialog appears to allow you to pick or type the destination directory for the move operation. Return to Tutorial menu ═══ 6.4. Copy tutorial ═══ Please select a method to learn about: Drag and drop Keystrokes Cloning ═══ 6.4.1. Copy by drag and drop ═══ To copy a file system object using drag and drop, press and hold the Ctrl key, then "grab" a file system object with the mouse by placing the mouse pointer on top of the object and depressing and holding mouse button 2 (B2, usually the right button). Still holding B2 and Ctrl, "drag" the object to its destination (for instance, onto a directory in the Drive Tree), and then release B2. During a copy drag, the dragged object is "ghosted" rather than solid as during a move drag. You can abort a drag and drop action by pressing the ESCape key. Return to Tutorial menu ═══ 6.4.2. Copy by keystrokes ═══ Place the dotted cursor on the object you want to rename (make it the current object). Press Ctrl + c, the accelerator key for the Copy command, or pick "Copy" from the Files menu. A dialog known as the Walk Directories dialog appears to allow you to pick or type the destination directory for the copy operation. Return to Tutorial menu ═══ 6.4.3. Clone tutorial ═══ You clone a file system object by copying it into the same directory that already holds it. The Rename dialog will then appear because of the naming conflict, and allow you to specify a new name for the new, "cloned" copy of the object. Return to Tutorial menu ═══ 6.5. Compare tutorial ═══ To compare file system objects, link-drag one object onto another. A link drag is initiated by placing the mouse cursor on the object to be dragged, holding down the Ctrl and Shift keys, and clicking mouse button 2 (B2, usually the right button). While still holding the keys and B2, move the mouse to drag the object over the target object, then release B2. During a link drag, a rubber-band line appears between the source object and the dragged object. You can change the compare program from FM/2's Internal Settings notebook. An internal default is used if you leave the entry there blank. ═══ 6.6. View tutorial ═══ Viewing files can be as simple as double-clicking their objects. FM/2 will attempt to do to the object what should "logically" be done, which, in the case of text files, archives and the like, is to view them. If you would like different actions taken, FM/2 provides Associations to allow you to assign special viewer programs or actions to different file types. You can also invoke viewing directly from the Files and context menus, or by pressing the Ctrl + v accelerator key. In this case, no other default actions will be taken even if one might be "obvious" -- the object will simply be viewed. If, for example, you wanted to view an executable, this is the method you'd need to use (the default double-click action would be to run the executable file, which is usually what you'd want to do). You can change the viewing program from FM/2's Internal Settings notebook. An internal default is used if you leave the entry there blank. A good viewing program to try out would be Hyperview by Michael H. Shacter. ═══ 6.7. Open tutorial ═══ "Opening" a file system object is an object-based concept. When you open a directory, you get a view of the file system objects (files and directories) contained within that object. When you open an executable file, you cause it to execute. When you open a data file, you usually cause its owning application (if known) to execute with the data file being loaded by the application. This is known as a "default" open. But there are often several types of "open" operation that can be performed on an object. For instance, you can open an object's Settings notebook. FM/2 provides some variations on WPS open themes. You can open either a WPS folder or an FM/2 Directory Container for a directory object, for instance (to find out more about opening an FM/2 Directory Container for a directory object, see the Opening a Directory Container topic). To open an object's default WPS "view," use the F6 accelerator key, or press the Ctrl key while double-clicking the object. The same type of "open" will be done on the object that would be done if you directly double-clicked the object in a WPS folder object (remember, WPS folders are just visual representations of directories). To open the Settings notebook directly, use the F7 accelerator key, or press the Ctrl and Shift keys while double-clicking the object. For directory objects, you have the choice of view type to open, as well -- Icon, Details or Tree view. You pick these from the Open cascade menu on the Files menu or a context menu requested on the object (you request a context menu on an object by placing the mouse pointer on the object and clicking mouse button 2, B2). A command to open an FM/2 Directory Container is also on that cascade menu, and is the default. ═══ 6.8. Delete tutorial ═══ There are two styles of deleting under FM/2 -- a "regular" delete, that leaves the objects capable of being undeleted using OS/2's UNDELETE command or FM/2's Undelete Utility, and a "permanent" delete that does not leave the object recoverable. "Permanent" deletions are usually faster than "recoverable" deletions. You can select which type you want to be the default in FM/2's internal Settings notebook. You can delete objects in many ways: Drag and drop Drag the object(s) to FM/2's toolbar Trashcan icon, or to the WPS's Shredder icon. (You might want to pick up a replacement for the WPS Shredder like the free mshred object written by the author of FM/2.) Files or context menu Select the Delete command or pick the type of delete from the cascade menu. Keyboard The Ctrl + d accelerator key performs a "regular" delete, Shift + Ctrl + D (also written as just "Ctrl + D" -- accelerator keys are case sensitive) performs a permanent delete. ═══ 6.9. Make directory tutorial ═══ To create a directory, use FM/2's Make Directory command. You can pick this command from the Files menu or a context menu (under the Miscellaneous cascade menu). You can click the button on FM/2's toolbar. Or you can use the Shift + Ctrl + "M" accelerator key. FM/2 presents you with a small dialog box in which you can type the name of the directory that you want to create -- FM/2 will try to fill in the entry field with a guess at the first part of what you want, but you can delete that if desired (Shift + Home, then touch the Del key to do it quickly). The directory created can be many levels deep. FM/2 will create intermediate subdirectories as required if they do not already exist. For example, if you have a directory \myapps and want to create a directory \myapps\games\mygame you can do so without first creating \myapps\games -- just enter the full path you want and FM/2 will create the intermediate directory \myapps\games. ═══ 6.10. Create archive tutorial ═══ To create a new archive, select the file system objects you want in the archive, then select Archive from the Files menu or a context menu, or click the Archive toolbar button. A dialog then appears that lets you select the type of archive to be created from the types defined in the ARCHIVER.BB2 control file. Once you have selected the archive type, the Archive dialog appears and lets you specify the name of the archive to be created and the type of archiving action (move or copy to archive, include subdirectories or not, recurse into subdirectories, etc.). You can specify additional filemasks or place more obscure options on the command line to be executed. To add to an existing archive, you can go through the same process, changing the name of the archive to that of the existing archive, or simply drag objects onto the existing archive's object. You can also add objects to an archive by viewing it (double-click on the archive object) and then dragging the objects to be added onto the Archive Container window. ═══ 6.11. Extract from archive tutorial ═══ To extract from an archive, first place the dotted cursor on the file (make it the current object), then select the Extract command from the Files menu or a context menu requested on the archive, or press the Ctrl + x accelerator key. The Extract dialog then appears and allows you to specify a filemask to be extracted and/or to add more esoteric options to the command line to be executed. You can also extract objects from an archive by viewing it (double-click on the archive object) and then dragging objects from the Archive Container window to FM/2's other windows, or by using the Files or context menu and selecting from various types of Extract commands there. ═══ 7. "I'm an OS/2 expert!" ═══ Okay, Mr. Expert, we can get you off and running quickly. First, read the help sections Using User Lists and Opening a Directory Container -- they'll contain some FM/2-specific info you'll need or be able to use up front. You might also want to take a look at the internal Settings Notebook and its help to see how you can customize FM/2's behavior to your taste. The rest? Drag and drop works as you might expect from the WPS, except that link-dragging (holding Ctrl + Shift while dragging) is used to do comparing within FM/2 (still creates shadows when dropping on WPS objects). Direct renaming works as expected. Context menus can be requested on objects for other functions. Double-clicking opens objects in the "best guess" view. In other words, it works more-or-less like the WPS with file maintenance-specific functionality added. You now know how to do the basic file system maintenance operations (copy, move, delete, rename, etc.) -- go for it, and have fun. The rest of the help will wait until curiosity gets the better of you -- and it will. :-) ═══ 8. Files Menu ═══ The Files pulldown menu displays the same menu that would be obtained as a context (popup) menu over the current object in the current window. If you select the Files menu when a window that doesn't use it is active, you'll see "n/a" (not applicable). Generally speaking, it's best to leave the Files menu for folks who either don't have a mouse or don't really understand how OS/2 works, and instead work from the context menus. See also Commands submenu. ═══ 8.1. Commands submenu ═══ Commands are programs that can be run on selected objects by picking the programs by an assigned title from a dynamically built submenu of FM/2's Files pulldown menu. When commands are displayed in the submenu, visual queues are given as to the behavior of a given command. Commands that are checked will run once for each selected file. Commands that are framed will prompt the user to edit and accept the command line before running. FM/2 provides accelerator keys for the first twenty commands in the submenu. The accelerators are listed beside the command's title for reference. This provides a "macro key" capability. Don't overlook the power of Commands. This is a simple way of extending FM/2 to do things that it can't do on its own, to automate things, and to merge those old command line utilities with a PM selection shell (FM/2). ═══ 9. Views Menu ═══ The Views pulldown menu displays the same menu that would be obtained as a context (popup) menu for the current window (but not for any objects in the window -- in other words, a context menu requested over whitespace). If you select the Views menu when a window that doesn't use it is active, you'll see "n/a" (not applicable). Generally speaking, it's best to leave the Views menu for folks who either don't have a mouse or don't really understand how OS/2 works, and instead work from the context menus. ═══ 10. Utilities Menu ═══ FM/2 offers several utilities to make your life a little easier: Remap drives Collector Seek and scan files See all files Compare directories Undelete Files Kill Processes Instant Batch File Command Line INI Viewer View Bookshelf View Helpfiles System info shows you some of OS/2's system variables (those retrieved with the DosQuerySysInfo API, if you're interested). For convenience, you can also get to the System Clock object, System Setup folder, and command line windows from this menu. ═══ 10.1. Remap drives ═══ To remap (attach) a remote server to a local drive letter, enter the UNC server name in the entry field at the top center of this dialog, then select the drive letter from the left (attach) listbox to which to attach the server. Finally, click the Attach button. To detach a local drive letter from a remote server, select the drive letter from the right (detach) listbox, then click the Detach button. When you're through remapping drives, click Done. According to IBM LAN Server documentation, a UNC name consists of a double backslash, the name of the server, another backslash, and the name of the resource: \\servername\netname Note that FM/2 saves the UNC names you enter in the listbox below the entry field. You can recall these names later by clicking on them. The Delete button deletes the currently selected name from the listbox, and the Clear button removes all names from the listbox. Names are added automatically. Up to 200 names can be stored in this manner (kept on disk between sessions in a file named RESOURCE.DAT). ═══ 10.2. Collector ═══ The Collector is a temporary place to hold objects that you want to manipulate later; it allows you to temporarily group objects regardless of where they're physically stored in the file system. No physical (disk) storage is used; the Collector just holds the objects (something like WPS shadows) until you're ready to do something with them. You might think of it as an additional clipboard containing names of file system objects. Note that objects in the Collector, unlike objects in main tree and directory containers, show their full pathnames. You can drag file system objects from and to the Collector. Be careful where you drop the objects; directories and files already in the Collector are "targets." If you drop on a directory, the files are moved or copied to the directory, not into the Collector. The Collector allows you to manipulate the files it contains just as you would in a main tree or directory window. Popup menus are available just as they are in a main window. The popup for the collector container obtained over container whitespace allows clearing the container, collecting files from the clipboard (a good way to import a selection from some other program that might save a list of files, one file per line), and collecting from a list file (a file containing fully qualified pathnames, one per line). Additionally, the pulldown menu gives you access to a Seek and scan function. This leads to a dialog that lets you search for and Collect files based on filemasks and text content. The Collector as it appears when run from Collector object in the FM/2 folder INSTALL creates (VCOLLECT.EXE). ═══ 10.2.1. Seek and scan ═══ This dialog, accessed from a Collector context menu, allows you to search for files (by filemasks and, optionally, text within the files) and Collects the files found. In a hurry? See the quicky instructions at the bottom. In the Filemasks entry field you can enter one or several filemasks. To enter multiple masks, separate them with semi-colons. Example: "C:\*;D:\*.TXT". Entries can total up to 8095 bytes in length. The Add and Delete buttons can be used to add the current filemask to the listbox for later retrieval or delete a line from the listbox if you want to get rid of it. The Walk button brings up the Walk Directories dialog. When you select a directory in the dialog it's added to the Filemasks entry field. The Env button allows you to enter the name of an environment variable which points to a list of directories (like the PATH variable) and fills them into the Filemasks entry field. In the Search text MLE you can enter text that must be found for the file to match. All files matching the filemask(s) are searched for this text. If no text is entered, a simple file find is performed. Note that each line of the MLE is a separate search string. If any of the strings are found, FM/2 will consider a match to be made. You can enter up to 4096 characters in this MLE, and as many lines as you like within that limitation. Note that a "line break," for our purposes here, is created when you press [Enter] in the MLE; word wrap is not a consideration. Simple regular expressions are supported. These can be briefly summarized: '*' matches any string '?' matches any single character '['XYZ']' matches any of X, Y or Z ' ' matches 0 or more whitespace characters '\\' 'escapes' the next character C matches C The Include Subdirs checkbox controls whether the search extends into subdirectories. If the box is checked, subdirectories are searched. The Absolute checkbox disables regular expressions in the Search text entry field. The Case Senseitive checkbox, if checked, makes text searches case sensitive. Otherwise they are not ('c' matches 'C' and 'c'). The Say files as found checkbox tells FM/2 to display the filenames it finds based on the filemasks as it encounters them, if checked. The Search files checkbox, when checked, tells FM/2 to look inside files for the text in the Search text entry field. This has no effect if no search text was entered. The Search EAs checkbox, when checked, tells FM/2 to look at the text EAs of files for the text in the Search text entry field. This has no effect if no search text was entered. The Find duplicates checkbox, when checked, tells FM/2 to find potential duplicate files. Files with the same name are found, as are files with the same size and date/time. Note: Finding duplicates is a time and resource consuming operation due to the usually large number of files, and therefore comparisons, involved (FM/2 on a 486/66DX2 with 32 mb RAM required about 7 minutes to search 11,000 files for dupes). Once potential dupe files have been found and Collected you can use the Collector's sort and information facilities and commands to check the files and delete or archive any you don't want to keep around -- use filename sort to see files grouped with the same name, size sort to see files grouped with the same size and date/time. The three switches listed below also affect how potential duplicate finding works. The CRC dupes checkbox, when checked, causes FM/2 to determine and check the CRCs of potential duplicate files. Only files with matching CRCs will then pass the dupe test begun as described above. This approximately doubles the time it takes to find potential duplicate files, depending on how many potential dupes there are, but not using it means that invariably a few files will be flagged as possible dupes that aren't (this is possible even with this switch on, but far less likely). Note that in order to CRC a file, FM/2 must be able to open it -- if it can't, FM/2 will consider the two files being compared to be duplicates. The No size dupes checkbox, when checked, tells FM/2 to not consider files as potential dupes unless their names match (size/date matches aren't considered). Be aware that you will probably miss true duplicate files if you turn this off, as not all dupes have the same name. The Ignore extensions checkbox, when checked, tells FM/2 to ignore the (last) extension on filenames when checking for dupes by name. This is handy when you're comparing files in BBS upload directories where the same file may have been archived with different archivers, resulting in identical rootnames but different extensions. The Larger entry field can be used to find files larger than the number of bytes input (zero means all files). The k button next to the entry field multiplies the value by 1024 for you to make kilobytes instead of bytes. The Smaller entry field works the same except that it causes files smaller than the number of bytes input to be found. When used together (both fields are nonzero), files found will be greater than the Larger field's value or less than the Smaller field's value. The Newer and Older entry fields work similarly. When non-zero, these fields cause the search to find only files newer or older than the number of days entered. The m buttons multiply the value by 30 for you to make "months" instead of days. The AllHDs button prompts you for a single simple filemask (one without a drive or path) then builds a Filemasks string that will search all hard drives for that mask. Similarly, the LocalHDs builds a mask for all local hard drives, and RemoteHDs builds a mask for all remote (LAN) hard drives. The listbox on the left top of the dialog contains a list of valid drives. You can double-click one of these drives to add a mask for that drive to the entry field. The file search is performed using the current Collector Filter's attribute values. Click Okay when ready to search, or Cancel to exit without searching. Note that this function is designed to run in the background while you're doing other work, rather than running full-tilt and making you wait for it. Quicky instructions for file finding: type a mask into the Filemasks entry field (for example, "C:\*.BAK") and press [Enter]. Quicky instructions for dupe finding: type a mask into the Filemasks entry field, check Find Duplicates, check CRC dupes if you want greater accuracy (and more time spent looking), and press [Enter]. See also See all files. ═══ 10.2.1.1. Enter environment variable name ═══ This dialog, reached from the Seek and Scan files dialog, allows you to enter or select the name of an enviroment variable (like PATH, LIBPATH, DPATH, etc.) that points to a list of directories separated by semi-colons. The Seek and Scan dialog will then build the filemask for you from that list of directories. Some of the most frequently encountered environment variable names are displayed in the listbox. If you select one, its name is placed in the entry field for you. You can also type in a name. Click Okay when you have entered the desired name, or click Cancel if you changed your mind and don't wish to use an environment variable name. ═══ 10.2.2. See all files ═══ FM/2 can present a window listing all the files on one or more drives. This command is part of the Collector, and can be accessed from the Collector's context menu. There's also a shortcut command under the Utilities submenu on the main FM/2 window. Selecting Miscellaneous->Show all files (Ctrl + S) from a Drive Tree directory's context menu can also get you here. After you select the drives to list from a dialog, FM/2 will scan the selected drives and then fill a custom list control with the names of all the files found. Once the filenames are displayed, together with their sizes, attributes and last written dates and times, you can perform a variety of actions with selected files from the list. Commands exist to sort the listing in several ways and to filter and select files in several ways. You can also drag selected files from the list. You can use the Filter to pare a listing down to a smaller subset. For example, if you are viewing all the files on the C: drive, you can limit the view to all the files in C:\OS2 and subdirectories with the filter "C:\OS2\*". FM/2 displays Hidden and System files in red, Readonly files in blue, and all others in black on a light grey background. Selected files are displayed in reverse video (white text on a black background). These colors are configurable. The current file has a ">" pointing at it in the left margin. Single selections and swipe selections are supported, as well as select and deselect all, and select and deselect based on masks and/or attributes. Keyboard selection is performed with the spacebar, or you can hold down the Shift key while moving the cursored selection with the arrow keys. You can press the first letter of a file (as displayed; if fullnames are on, you must type the first letter of the full filename, including path) to "find" a file that begins with that letter. In fact, in this window, you can type more than one letter of a filename (each within one, count 'em, one, second of the previous) to narrow the search further -- something that standard OS/2 controls don't support. Double-clicking a file results in a default action as in Directory Containers (usually a view of the file). If you need a refresher, check the General Help topic. The keyboard equivalent is the Enter key. A large subset of the commands available in Directory Containers is available in this window. See the Context menus topic for more information. Commands in this window always apply to selected files. You'll find an additional option to the usual Copy and Move commands here, in the conditional cascades for those commands: Copy and preserve... and Move and preserve.... These commands copy or move the selected files but preserve the directory relationship of the files. The effect of this can be non-obvious, so use with care. Let's say you select three files: G:\FOO\BAR\DUDE, G:\FOO\BAR\WOW\DUDE and G:\FOO\BAR\RUFF\DUDE. If you select Copy and preserve and pick a destination directory of H:\HERE, the resultant files will be H:\HERE\DUDE, H:\HERE\WOW\DUDE and H:\HERE\RUFF\DUDE. Note that drives are not considered when preserving directory relationships, so if one of our three files above resided on drive F:, the results would be the same. The Duplicates... command can be used to find files that are potential duplicates in the window. There are several options that you can select in the dialog that appears. Duplicate finding can take a considerable amount of time, but you can continue to do things in other windows while you wait. See also: Seek and Scan ═══ 10.2.2.1. Pick drives ═══ Highlight the drive(s) to list, then click Okay. Click Cancel to abort. FM/2 will quickly load all the files on the selected drives into an ugly but fast custom list control for you to further examine and manipulate. The custom control is used rather than a container due to the slowness of containers when dealing with such large numbers of records. You can verify this by using Seek and scan to Collect the same files into the Collector container, if you're a masochist. ═══ 10.2.2.2. Duplicate finding options ═══ Select from the options for finding duplicate files. Files must meet all selected criteria to be considered duplicates (dupes). Therefore, the more options you check, the more likely the files you're presented with when FM/2's finished actually are duplicate files. Note that CRCing files can take considerable time. Only files that match all other criteria will be CRCed, and files will only be CRCed once (i.e. the logic's not totally stupid), but it will take longer. FM/2 will display some info about where it is during the dupe check, and checking is done in a background thread at a low priority so that other windows and applications remain useable. FM/2 must be able to open the file for reading to CRC it -- if it cannot do so, it will consider the file a match based on the other criteria specified. After finding duplicate files, you can "restore" the rest of the files by using the Filter command. It often helps to set the Sort to Name or Size when viewing files found as potential duplicates to best see their relationships. See also Seek and scan. ═══ 10.3. Compare Directories ═══ The Compare Directories dialog shows you a comparison breakdown of two directories. You can highlight files here and Collect them for later processing, or drag them elsewhere. The dialog presents two containers side-by-side. Vertical scrolling of the containers is synched so that scrolling one scrolls both. The files are listed so that they are in alphabetical order, with gaps in the containers where a file exists in one but not the other. This provides easy, at-a-glance comparison of the directories' contents. It is possible to change the directory of a container by direct editing of the container title. You can change both directories simultaneously by clicking the Dirs button. You can include all the files in all subdirectories by checking the Include subdirs button. This dialog is reached by link-dropping (Ctrl + Shift held down while dragging and dropping) one directory object onto another directory object, or by selecting Utilities->Compare directories from the main window's pulldown menu. You can get a context (popup) menu in the title area of each container. From it you can control which columns are displayed in the containers, and save "snapshots" and, in the right container, reload those snapshots. Snapshot files are compatible with PMDirMatch (see below). Snapshots can be used to see what changed in a directory from one point in time to another (for instance, to see what installing a program might have changed in your system directories). You can also Filter what shows in the containers. The line of Actions: pushbuttons allow you to Delete files from either directory and to Move or Copy files from one directory to another. You can double-click a file to view it, or request a context menu on it to compare it to its counterpart in the other directory. Several selection/deselection techniques are available via pushbuttons to enable you to select files based on their comparison. The pushbuttons operate on both containers. You can also select and deselect files in the containers manually with the mouse and/or keyboard. Hint: mouse selection works slightly differently when you hold down the Ctrl key while clicking. Brief description of selection/deselection button options: Same All items which match name and size exactly. Identical All items which match name, size and date exactly. Both All items which are present in both containers (only name used as criteria). One All items which are present in only one of the containers (only name used as criteria). Newer All items which have a counterpart in the other container and are the newer of the pair. Older All items which have a counterpart in the other container and are the older of the pair. Smaller All items which have a counterpart in the other container and are the smaller of the pair. Larger All items which have a counterpart in the other container and are the larger of the pair. All All items in both containers. Invert Inverts selection state of all items in both containers. See also Selection. The general procedure for synchronizing two directories (assuming, of course, that's what you're wanting to do) is to first select all files that have no matching files in the other directory (click the One button on the left side of the dialog). Copy these files to the other directory. Now deselect all files (click the All button on the right side of the dialog) and select all newer files (click the Newer button on the left side of the dialog). Copy these files to the other directory. The directories should now match exactly -- deselect all files and select identical files (click the Identical button), and all the files should be selected (to confirm). If you're looking for more powerful directory matching software, you might be interested in Larry Waibel's PMDirMatch shareware program. Larry can be contacted on Compuserve at user ID 71333,2463, and he hangs out in the OS2SHARE (library 1 of OS2BVEN) forum. You can easily set FM/2 up to use PMDirMatch automatically using the Compare page of the internal Settings notebook. ═══ 10.3.1. Select two directories ═══ This dialog lets you pick two directories by "walking" through the directory structure of your drives. See also Walk Directories. When the desired directories are displayed in the entry fields of the dialog, click Okay to exit. Click Cancel to exit without selecting directories. ═══ 10.4. Undelete Files ═══ This leads to a dialog that interfaces with UNDELETE.COM to allow you to undelete files. The drive that will be operated on is determined by the highlighted object in the directory tree. This dialog filters out files that already exist on the disk. The Mask entry field lets you set a mask (which can include a directory path). You can switch drives using the dropdown listbox. A Subdirs button lets you choose whether to show files that can be undeleted in subdirectories as well. You can always go directly to UNDELETE.COM if you have the need for more control. This is provided only for convenience. ═══ 10.5. Kill Processes ═══ This leads to a dialog that allows you to kill most renegade processes. If you run into a window that just won't close, or one that hides itself but doesn't quite go away, this may let you kill the hung process. Obviously you'll want to exercise some care here. FM/2 will remove its own PID (Process ID) from the list, but if you ran it from a command line you could still kill FM/2 by killing its parent. You can also kill off the WPS (PMSHELL.EXE), but it should restart itself. Some kernal processes show up but can't be killed. A checkbox allows you to set the Process Killer to use the undocumented DosQProcStat API instead of parsing PSTAT.EXE's output. While this removes the requirement of having an English version of PSTAT.EXE, you should be aware that the DosQProcStat can be changed by IBM without notice, possibly causing the Process Killer to fail and/or trap. ═══ 10.6. Instant Batch File ═══ This leads to a dialog that lets you quickly hack together a batch (command) file and run it (the currently highlighted tree directory will be its default directory). The command file isn't saved; think of it as an "extended command line" which allows you to enter more than one line at a time (for instance, when several tests must be made). ═══ 10.7. Command Line ═══ This brings up a windowed OS/2 command line. F9 is the accelerator key for this command. There are also commands to bring up a windowed DOS command line and a Win-OS/2 full screen session. ═══ 10.8. INI Viewer ═══ INI files are a form of data file that OS/2 provides to applications and utilizes itself. This viewer allows you to take a peek inside them. Two special INIs are used by the system. They are the User INI (usually OS2.INI) and the System INI (usually OS2SYS.INI). Both are usually located in the \OS2 directory of your boot drive. FM/2 will tell you where they are when you view them. Applications normally use private INI files named after the application. For example, FM/2's INI is FM3.INI and its executable is FM3.EXE. A record in an INI is composed of three parts: An application name, a keyname, and data. This three-part format is represented in the window by three listboxes. When you choose an application name and a keyname, you see the data associated with them. This window allows you to delete an application name from an INI (deleting all keynames and data associated with it) with Edit->Delete Application, or to delete individual keynames, deleting the data associated with them with Edit->Delete Keyname. You can also copy or rename entire application names or application+keynames. The Files->User Profile command loads the user INI (usually OS2.INI) and the Files->System Profile command loads the system INI (usually OS2SYS.INI). The Files->Other Profile command allows you to pick an INI file to load. The Files->Refresh command will refresh the contents of the listboxes from the INI file on disk; handy if a background process might modify it. The Entries->Filter appnames command can be used to selectively remove or include application names from the first listbox via a dialog that pops up when the command is selected. One filter "mask" should be entered per line in the MLE; preface "masks" with "/" to cause the following mask to exlude rather than include items. Note that the Filter command removes entries from the listbox; refiltering with a more inclusive set of masks will not restore filtered entries. Use the Files->Refresh command for that. The Utilities->Backup Profile creates a backup of the current profile. You get to specify the filename. The Utilities->Change System Profiles command lets you change the User and System profiles that OS/2 uses. The Utilities->Replace System Profiles command lets you replace the default system profiles with new profiles; the old files are physically overwritten. You can also drag from and to the top two listboxes in this window. If you drag from the left window, you drag the current application name, all its keynames, and all the data associated with the keynames. If you drag from the right window, you drag the current application and keynames, and all the data associated with the keyname. You can either move or copy the record(s) using the standard key modifiers (you did read the General Help topic, didn't you?). This window is reached via the Utilities pulldown menu on FM/2's main window, or by selecting (double-clicking) an INI file in a directory window, or by starting it from the FM/2 folder. The double-click behavior can be changed by specifying an association for *.INI under FM/2's main Config->Edit Associations pulldown. See also: Adding an INI record Changing OS/2's INIs Replacing OS/2's INIs The INI viewer run as a standalone application from the FM/2 folder. ═══ 10.8.1. Adding an INI record ═══ To add an INI record, fill in the three entry fields on the screen. The appname and keyname pair, together, should form a unique ID, or you'll end up replacing existing data rather than adding new data. Then click Okay. Click Cancel to abort. You can check the Use \-encoding checkbox if you want to enter or edit binary data. FM/2 attempts to determine the type of data if you're editing rather than adding and sets the checkbox for you accordingly. FM/2 adds a trailing 0 byte (NUL) to string information saved to the INI file (if you don't have Use \-encoding checked), which seems to be a common convention. ═══ 10.8.2. Changing OS/2's INIs ═══ FM/2 lets you change the INIs that OS/2 uses while OS/2 is still active. This, together with the Backup Profile command, allow you to create and use alternate profiles. Note that this doesn't change the physical INI files, it just points OS/2 at the new files; when you reboot, the files specified in CONFIG.SYS are used. There are a couple of potential uses for this function. You might use it to maintain different desktops and switch between them. You might use it to allow you to copy backed up profiles to OS2.INI and OS2SYS.INI (the default OS/2 profiles -- do this by first switching to a different set of profiles, then copying your backups onto OS2.INI and OS2SYS.INI, then restoring OS2.INI and OS2SYS.INI as the system profiles. You can't do this normally as the system profiles are readonly and can't be overwritten.). Note that when the change occurs, OS/2 will restart the WPS. It's recommended that you back up your system INIs before using this and shut down all other running processes first. ═══ 10.8.3. Replacing OS/2's INIs ═══ This dialog physically replaces the OS/2 system INIs with the INI files you select. The change is permanent. Note that when the change occurs, OS/2 will restart the WPS (twice). It's HIGHLY recommended that you back up your system INIs before using this and shut down all other running processes first. (Use of this after having used the Change System Profiles command probably won't do what you expect unless you first change back to the system defaults.) ═══ 10.8.4. Copying and renaming INI records ═══ FM/2 allows you to copy or rename (a move followed by a delete) INI applications or application+keynames. A dialog is presented where you enter the new application name (and keyname if copying or renaming a specific application+keyname pair). Once you've filled in the new name(s), click Okay to perform the operation. Click Cancel if you change your mind. ═══ 10.8.5. Filter INIs ═══ This dialog can selectively remove or include application names from the first listbox. One filter "mask" should be entered per line in the MLE; preface "masks" with "/" to cause the following mask to exlude rather than include items. Note that the Filter command removes entries from the listbox; refiltering with a more inclusive set of masks will not restore filtered entries. Use the Files->Refresh command for that. ═══ 10.9. View Bookshelf ═══ FM/2 presents a listbox containing all the .INF files found in the directories listed in your BOOKSHELF environment variable (see SET BOOKSHELF= in CONFIG.SYS). You select the .INF file(s) you want to view, then click the View button. If you selected more than one .INF file, FM/2 calls VIEW.EXE in such a way that all the files are presented at once (a single contents page appears listing the contents of all the .INF files). Warning: Don't select more than one filename with the same title (left column of listbox) -- View.exe will choke if you do, and be unable to read any of the files. You can enter text into the entry field below the listbox, and FM/2 will try to find the first listbox entry with matching text as you go. If you click Select FM/2 will highlight all matching entries (hint: empty the entry field and click Select to unhighlight everything). If you click Filter FM/2 will remove all but highlighted items from the listbox (Rescan will refill the listbox). The AddDirs button will copy the contents of the entry field and add it to the directories listed in the BOOKSHELF environment variable. It should be in the same format as the HELP environment variable uses, fully qualified directory names separated by semi-colons. The next time you use the Bookshelf Viewer, FM/2 will remember this input and use it. This is an internal addition; your CONFIG.SYS and environment are not modified. The Topic entry field can be used to have the INF file(s) searched on entry for a topic of interest (like typing "VIEW inffile topic" at a command line). When you're done with the dialog, press [ESCape] or click Cancel. Any open .INF files remain open until you close them (hint: F3 will close an .INF file). Note: this dialog is shared by the View Helpfiles and View Bookshelf commands. If you click on either while this dialog is up, the dialog is simply brought to the foreground. Close it if you want to switch function. (This doesn't apply if you started this from the Bookshelf Viewer object in the FM/2 WPS folder.) ═══ 10.10. View Helpfiles ═══ FM/2 presents a listbox containing all the .HLP files found in the directories listed in your HELP environment variable (see SET HELP= in CONFIG.SYS). You select the .HLP file you want to view, then click the View button. You can enter text into the entry field below the listbox, and FM/2 will try to find the first listbox entry with matching text as you go. The AddDirs button will copy the contents of the entry field and add it to the directories listed in the HELP environment variable. It should be in the same format as the HELP environment variable uses, fully qualified directory names separated by semi-colons. The next time you use the Bookshelf Viewer, FM/2 will remember this input and use it. This is an internal addition; your CONFIG.SYS and environment are not modified. When you're done with the dialog, press [ESCape] or click Cancel. Any open .HLP file will remain open until you close it. Note: this dialog is shared by the View Bookshelf and View Helpfiles commands. If you click on either while this dialog is up, the dialog is simply brought to the foreground. Close it if you want to switch function. (This doesn't apply if you started this from the Helpfile Viewer object in the FM/2 WPS folder.) ═══ 11. Config Menu ═══ FM/2 can be configured as you like it using the commands under this submenu. It is highly recommended that you step through the items in this submenu when you first begin to use FM/2, both to familiarize yourself with the available configuration options and to make FM/2 work the way you like it to work. To change fonts and colors, FM/2 uses the WPS Font and Color Palettes. The Config menu contains commands to call up these objects for you. This submenu affects general FM/2 behavior. Each class of container has its own configuration menu that allows you to set the type of view, filtering, and so on. To get the popup menu that controls the container's appearance, request a context menu while the pointer is over an empty area of the container, or select the Views pulldown submenu. The Toggle quicklists command causes a dropdown listbox to appear below the toolbar (if one is being used; below the pulldown menu, if one is being used, or titlebar if not) and above other windows. The listbox contains the directory names you've assigned in the Walk Directories dialog. If you pick one, a Directory Container for that directory is opened (hold down the Shift key while clicking to change an existing Directory Container instead). If the dropdown listbox is already present, this command causes it to disappear. A Drive Finder dropdown listbox also appears with the userlist; selecting a drive in this list causes the Drive Tree container to scroll to show the selected drive and make it the current object. Finally, a Setup dropdown list also appears that contains names of setups (Drive Tree location, Directory Container locations and associated directory names). Pick a setup name, and FM/2 reopens and repositions the windows as they were when you saved the setup. A context menu requested on the setup list entry field is used to save and delete setup names. To add a name, enter it in the entry field of the dropdown, request a context menu, and select Save state as name To delete a name, put it in the entry field, request a context menu and select Delete state name The Autoview submenu controls the Autoview window. The default for this conditional cascade menu is the Toggle autoview window command, which causes an autoview window to appear above the status line at the bottom of the screen. As you move the cursor from object to object, FM/2 displays the first few lines of file objects in this window. If the autoview window is already displayed, clicking this command causes it to disappear. You can also set the what is to be autoviewed -- either the file's .COMMENTS EA or the start of the file's contents (similar to the *nix HEAD program). When .COMMENTS EAs are being viewed, you can edit them and the changes will be saved when you switch the focus from the Autoview window. You can reach this editable Autoview window with the Ctrl + Tab hotkey if you are allergic to your mouse. Clicking the contents Autoview window with B1 causes the file to be viewed. Clicking with B3 (or chording with B1 and B2 simultaneously) causes the extended attributes to be viewed. If viewing .COMMENTS rather than contents, you can pick View file from the context menu. The Toggle bottom buttons menu item turns off and on a row of buttons that appear just above the status line(s). The buttons display the name, date, and attributes of the currently selected object, and the filter status of the current container. If clicked with B1, a command is generated (rename, info, edit date/attributes and filter dialog respectively). If clicked with B2, a context menu appears (the same one you get if you click B2 on the first status line). If clicked with B3, the sort changes for the current container: filename, last write date, file size and reverse sort respectively. The Toggle drivebar menu item turns off and on a bar showing all available drives. You can click these drive buttons to find or switch to a drive (depending on the active window when the button is clicked), drag objects onto the buttons, request a context menu on a button for more commands dealing with the drive, or click B3 to open a Directory Container for that window (or surface and activate one that already exists). See also: Overall FM/2 window (picture) Using user lists Toolbar Associations Commands Edit Archiver Data Settings notebook ═══ 11.1. Toolbar ═══ The toolbar is a collection of buttons that invoke some of the commands in the pulldown or popup menus. Placing the mouse pointer on a button and pressing and holding B2 displays brief help for the button on the titlebar. Some of the buttons will allow objects to be dragged onto them; for example, you can drag objects onto the trashcan to delete them. Note that the hotspot of the mouse pointer itself should be over the button before releasing, not the icon being dragged (icons are slightly offset from the mouse pointer to give better target visibility). Target emphasis is provided in the form of a black outline around the button, and the arrow pointer turns into a hand when above a toolbox icon. This toolbar submenu is a conditional cascade menu, meaning that if you click other than on the boxed arrow a default command is executed (the toolbar is toggled off and on), but if you click on the boxed arrow you get a submenu of items you can select (the other choices are Text Toolbar, which will cause the toolbar to appear as "normal" buttons with text on them, or Toolbar Titles, which will cause text to appear below the toolbar bitmap buttons). Toolbar buttons are user-configurable. To change the toolbar, click mouse button two (usually the right button) while the mouse pointer is over a button to pop up a context menu. You can get the "Load Toolbox" dialog by clicking B2 on a blank area of the toolbar, and the "Add Button" dialog by chording on a blank area of the toolbar. For advanced/curious users: Information on what buttons are in the toolbar is kept in a file named FM3TOOLS.DAT. This file is an ASCII (plain text) file that contains information defining the toolbar. The file contains comments that explain its format. FM/2 allows you to create customized toolboxes that can be loaded as required to provide toolboxes for specific activities. Although FM/2 provides ways to edit the toolbar internally, it's probably easier to load the definition files into a text editor and make the changes manually en masse. If you'd like to see a different toolbar layout (and try out the Load Toolbox command), right-click on the toolbar, pick Load Toolbox from the resultant menu, and pick a toolbox from the listbox. Then you might try creating your own and saving it with the Save Toolbox command. See also: Reorder Tools Edit Tool Add Tool Save Tools Load Tools ═══ 11.1.1. Reorder Tools ═══ This dialog, accessed from the context menu of a tool button, allows you to rearrange the order of the toolbar's tool buttons. You take selected items from the left listbox and Add them to the end of the right listbox with the Add>> button. When you've moved everything to the right listbox, click Okay. Click Cancel if you change your mind. In reality, you don't need to move everything to the right listbox. You can move only what you want moved to the top of the list, then click Okay. Anything remaining in the left listbox is added to the end of what's in the right listbox. The <.TLS). By starting with the full toolbar, you'll spend more of your time deleting buttons you don't want (a trivial task) and less adding buttons. ═══ 11.2. Drive flags ═══ Here you can set flags for various drives. Command line switches override these flags. The flags are stored in FM/2's INI file and loaded when FM/2 starts, so this is an alternative to all the esoteric drive command line switches except the Ignore switch. No prescan Setting this causes FM/2 to not pre-scan removable drives. You have to double-click the drive before it's checked to see if it has any subdirectories. This is handy for those of you with CD carousels. Don't load icons Prevents FM/2 from loading icons for files and directories on this drive. If the drive contains only DOS programs and data files or is a very slow drive, you might want to check this one. Don't load subjects Prevents .SUBJECT EAs from being automatically loaded on this drive. Again, if your drive is slow or you don't use .SUBJECTs with objects on this drive, you might want to check it. Don't load longnames Prevents .LONGNAME EAs from being automatically loaded on this drive. You've got the idea by now, right? Slow drive. Check this for drives which have extremely slow seek times (like ZIP and EZ removable hard drives). The Autoview window and associated messages are disabled for this drive, and the "Quick Arc find" method is always used, whether on globally or not, which snaps up response time. I may take other shortcuts for drives with this attribute later (loosen error checking). For such slow drives you may also want to check the various Don't load... flags listed above. Include files in tree If you check this, files will be shown as well as directories in the Drive Tree for this drive. I have no idea why you would ever want to check this. You get this dialog by selecting Edit->Drive flags from a context menu requested on a drive (root directory) in the Drive Tree or VTree window. ═══ 11.3. Associations ═══ (Note: if you're wondering why FM/2 has Associations separate from OS/2's, see the Why separate Associations? topic. Also note that you can "fall through" to OS/2's associations if desired.) Associations are programs that are run when files matching specified filemasks (and optional file signatures) are selected (double-clicked). You can use this facility to cause editors specific to different datafile types to start when the datafile is selected. For instance, if you associate "*.ICO" with "ICONEDIT.EXE %a" the icon editor will be started with the selected icon file when you double-click an icon. A special association command line, "<>", causes FM/2 to open the default WPS view of an object. Warning: Do not use this on a file associated with AV/2 as you will cause an endless loop as AV/2 constantly starts itself. Signatures provide a mechanism to further test a matching file to determine that it is the proper type. For example, all OS/2 .INF (information) files have the string "HSP" at position 0 of the file. By using signature "HSP" at offset 0 for the filemask "*.INF" and assigning the command line "VIEW.EXE %a" to the association, any OS/2 .INF file will be read using VIEW when selected, but non-OS/2 files that have an .INF extension will not match this association. The signature entry field supports C-style escaping. To add an association, fill in the entry fields and set the radio buttons and checkboxes that control session type as desired (these are explained in more detail in the help for Editing Commandline except for Prompt, which causes a dialog to appear that allows editing the command line before it is run), then click Add.. To delete an association, select it in the listbox, then click Del. You should be aware that the association deleted is the one matching the entry fields, specifically the mask, signature and offset fields. To change an association, delete it, edit the entry fields, radio buttons and checkboxes, then add it. The Top button moves the highlighted Association to the top of the listbox. The Find button brings up a standard OS/2 open dialog that you can use to point-and-click at the desired executable file. It's pathname will be entered into the command line entry field. The Close checkbox will cause FM/2 to close after executing this association. Please be sure that's the behavior you really want before checking this button. The Environment MLE control lets you enter environment strings for the program to inherit. Generally speaking, this is only for running DOS programs as any strings entered here are interpreted as DOS settings. For example, IDLE_SECONDS=5 would adjust the DOS setting IDLE_SECONDS to 5. Names of DOS settings are as shown in the Settings notebook for a DOS program. The following replaceable "metastrings" can be used in command lines: %$ drive letter %a full pathnames %A full pathnames, no leading drive letters %r full pathnames, no quoting under any circumstances %R full pathnames, no leading drive letters, no quoting %c command processor specified in %COMSPEC% %f filenames, no paths %F filenames, no paths or extensions %e extensions %p path (d:\directory) %P path (\directory) %u path of first datafile (d:\directory) %U path of first datafile (\directory) %% a percent sign ═══ 11.3.1. Why separate Associations? ═══ Under OS/2's WPS you can set up associations so that double-clicking a datafile object invokes a program. Usually you would use this to start the program that edits the file; for example, if you double-clicked a graphics file you'd want your graphics editing program to be started. However, while using a file manager, you would probably prefer to have a simple viewer started to look at the file quickly so you can decide what to do with the file. Therefore, FM/2 allows you to set up Associations for files that are different than those that OS/2 uses. This lets you invoke viewers in FM/2 via double-click, but invoke editors in OS/2 via double-click. Moreover, FM/2's Associations can be a bit smarter than OS/2's. You can associate a signature with a filemask and only files that match both will be viewed with the associated executable. You can even use these signatures to invoke OS/2's own associations, providing added assurance that the right executable is being invoked. For example, if you have a plain text file with the extension ".INF," OS/2 would try to view it with VIEW.EXE, which wouldn't know what to do with it. If you make an FM/2 Association and give "HSP" as the signature at offset 0 of the file, only OS/2 INFs will be passed to VIEW.EXE. ═══ 11.3.2. Accessing OS/2's associations ═══ You can access OS/2's associations for a file system object at any time by pressing the F6 key or holding down Ctrl while double-clicking the object. This causes a default WPS open to be performed on the object. If you want to access OS/2's associations by an unaugmented double-click, enter "<>" as the executable in the FM/2 Association definition. This causes FM/2 to do a default WPS open on the object. Note that if you wanted all objects to use OS/2's associations, you'd need only one FM/2 Assocation (filemask "*", executable "<>"). ═══ 11.4. Editing Commands ═══ This dialog allows you to edit the commands that are available in the Commands submenu. There is always a Do it yourself command in the Commands submenu, and it is the default for the conditional cascade. The Do it yourself command supplies the names of selected files as the command line and allows you to enter a command to be performed on the files in an entry field. Note that OS/2 command lines are limited to 1,000 characters. To add a command to this submenu, fill in the entry fields and set the radio buttons and checkboxes that control session type as desired (these are explained in more detail in the help for Editing Commandline, except for Each, which means that the command will be run once for each selected file, and Prompt, which means that the command will display a dialog that allows the user to edit the command line before running), then click Add.. To delete a command, select it in the listbox, then click Del. You should be aware that the command deleted is the one matching the entry field, specifically, the title field. To change a command, delete it, edit the entry fields, radio buttons and checkboxes, then add it. The Find button brings up a standard OS/2 open dialog that you can use to point-and-click at the desired executable file. It's pathname will be entered into the command line entry field. The Environment MLE control lets you enter environment strings for the program to inherit. Generally speaking, this is only for running DOS programs where any strings entered here are interpreted as DOS settings. For example, IDLE_SECONDS=5 would adjust the DOS setting IDLE_SECONDS to 5. Names of DOS settings are as shown in the Settings notebook for a DOS program. The following "metastrings" can be used in command lines: %$ drive letter %a full pathnames %A full pathnames, no leading drive letters %r full pathnames, no quoting under any circumstances %R full pathnames, no leading drive letters, no quoting %c command processor specified in %COMSPEC% %f filenames, no paths %F filenames, no paths or extensions %e extensions %p path of execution (d:\directory) %P path of execution (\directory) %u path of first datafile (d:\directory) %U path of first datafile (\directory) %d full pathnames of all open Directory Containers %D full pathname of current directory in Drive Tree %! listfile name (first places full filenames in a list file; user Command should delete listfile when complete, but FM/2 will clean any left over up when FM/2 closes). This is an advanced command -- see EXAMPLE.CMD in the FM/2 distribution archive for a skeleton program that you can use to do work on the filenames listed in the listfile. You can use %! more than once in the same command line -- the listfile will only be built once, but the name of that listfile will be inserted each time. %% a percent sign See also: Reordering Commands ═══ 11.4.1. Reordering Commands ═══ This dialog, accessed from the Edit Commands dialog, allows you to rearrange the order of Commands. You take selected items from the left listbox and Add them to the end of the right listbox with the Add>> button. When you've moved everything to the right listbox, click Okay. Click Cancel if you change your mind. In reality, you don't need to move everything to the right listbox. You can move only what you want moved to the top of the list, then click Okay. Anything remaining in the left listbox is added to the end of what's in the right listbox. The <Settings notebook... pulldown menu item. Some container types have their own individual settings, usually available via a popup menu requested on container whitespace (or the Views pulldown menu). Note that settings changes generally don't take effect until you close the notebook by clicking the Okay button. The Undo button will restore things to the way they were before you started fiddling about. The Quick page is a notable exception. See also: Director Container page Directory Container views page Directory Container sort page Collector Container views page Collector Container sort page Drive Tree page Drive Tree sort/views page Archive page Viewers page Compare page Monolithic FM/2 page General page Scanning page Quick Configurations page ═══ 11.5.1. Directory Container page ═══ This page contains controls that affect Directory Containers. If Unhilite after action is on, highlighted objects in the container are unhighlighted after you perform some command on them. Normally FM/2 updates the container as things change; for instance, if you're deleting several files, the container is updated after each file is deleted. If you uncheck Immediate updates, FM/2 updates the container after an atomic action completes (i.e. after all files moved by one operation have been moved). This speeds up processing but allows the container to be temporarily "out of synch" with the real state of affairs. The Look in directory toggle controls whether or not FM/2 looks inside an open Directory Container when deciding what default to place in the Walk Directories dialog for a copy or move command invoked via keyboard, menu or toolbar button. If this is checked, FM/2 looks at the current item in the Directory Container and, if it's a directory object, uses that path. If not checked, FM/2 uses the directory into which the Directory Container is "looking." The Min dir on open toggle, if checked, causes FM/2 to minimize a Directory Container window if you open another Directory Container window from one of its objects. When you close the new Directory Container window the old window is restored. The Selected Always toggle (NOT RECOMMENDED!) causes FM/2 to use selected object(s) (rather than keying on the current object). The No container search toggle, if checked, prevents FM/2 from performing extended searching in containers -- instead, the standard OS/2 method is used, where the cursor moves to the nearest object starting with the depressed letter and the object is selected. Note that you can get this standard effect with this toggle left on by pressing the Shift key along with the letter. Container searching allows you to enter multiple characters which are searched for at the start of filenames. The record is made the current (cursored) object. If the record matches all the letters typed exactly, it is also selected. A pause of more than about two seconds in typing resets the search string. Warning: this doesn't work right on some versions of Warp, where the OS/2 CM_SEARCHSTRING container message's behavior is buggy. It's not dangerous, it just doesn't produce the expected results. The Multiple select cnrs and Extended select cnrs checkboxes control the type of selection in some new containers (existing containers are not affected). Collector, Directory Container and Archive Containers created after these settings are changed will have the type of selection desired (note: unhighlighting both results in a single select container -- probably not desirable). The default is to have both types of selection active in containers. The Stay in Tree View switch, if checked, causes Directory Containers to remain in Tree View (if already in Tree View, of course) when you switch the Directory Container to look into a different directory. Otherwise, FM/2 switches the Directory Container back to the last used view before you put it into Tree View. ═══ 11.5.2. Directory Container views page ═══ This settings page lets you set the type of view that will be used in new Directory Container windows. Directory Containers that are already open won't be affected. Icon In Icon view, the object's name appears below its icon. Name In Name view, the object's name appears beside its icon. Text Text view is the fastest view for a container to maintain, but provides the least information on the objects it contains. Detail Details view shows a great deal of information on the objects it contains, including file sizes, dates, and times, but it is the slowest view for a container control to maintain. Mini Icons is a toggle controlling whether icons are shown full size or in miniature in views that show icons. The Field Titles group (analogous to the Views->Details Setup submenu) allows you to control what is shown in a Details view. Each possible field in the details view is shown. If the field is checked, FM/2 will show it. If not, it won't. The Filter entry field shows the current default filter mask for Directory Containers. Moving to this field will bring up a dialog that lets you set a new filter. The filter will be used for subsequently created Directory Containers. ═══ 11.5.3. Directory Container sort page ═══ This page lets you set the type of sort for Directory Containers. Directory Containers that are already open won't be affected immediately (see Resort context menu command), but will use the new sort type the next time they're resorted or rescanned. You can also tell FM/2 to always display directories ahead of or behind files. Note that Last access date and Creation date are only meaningful for HPFS file systems; FAT file systems do not track this information. The difference between Pathname and Filename is only apparent in the Collector. With the former, the entire pathname of the object is used to sort. With the latter, only the filename portion is used to sort. FM/2 maintains separate sort criteria for Drive Tree, Collector, Directory Container and Archive Container windows. This page affects only Directory Container sorting. The Collector has its own page; use a context menu or View pulldown menu for other container types (like the Drive Tree). Note: This page controls how new Directory Containers are created (already open containers are not affected), and the context menu in Directory Containers affects only the Directory Container from which the menu was invoked (new containers won't inherit the setting). ═══ 11.5.4. Collector views page ═══ This settings page lets you set the type of view that will be used in new Collector windows. If the Collector is already open it won't be affected unless you close and reopen it. Icon In Icon view, the object's name appears below its icon. Name In Name view, the object's name appears beside its icon. Text Text view is the fastest view for a container to maintain, but provides the least information on the objects it contains. Detail Details view shows a great deal of information on the objects it contains, including file sizes, dates, and times, but it is the slowest view for a container control to maintain. Mini Icons is a toggle controlling whether icons are shown full size or in miniature in views that show icons. The Field Titles group (analogous to the Views->Details Setup submenu) allows you to control what is shown in a Details view. Each possible field in the details view is shown. If the field is checked, FM/2 will show it. If not, it won't. The Filter entry field shows the current filter mask for the Collector. Moving to this field will bring up a dialog that lets you set a new filter. The filter will be used for subsequent invocations of the Collector. ═══ 11.5.5. Collector sort page ═══ This page lets you set the type of sort for the Collector. If the Collector is already open it won't be affected immediately, (see Resort context menu command), but will use the new sort type the next time it's resorted or rescanned. You can also tell FM/2 to always display directories ahead of or behind files. Note that Last access date and Creation date are only meaningful for HPFS file systems; FAT file systems do not track this information. The difference between Pathname and Filename is only apparent in the Collector. With the former, the entire pathname of the object is used to sort. With the latter, only the filename portion is used to sort. FM/2 maintains separate sort criteria for Drive Tree, Collector, Directory Container and Archive Container windows. This page affects only Collector sorting. ═══ 11.5.6. Drive Tree page ═══ This page contains controls that affect the Drive Tree. The Follow Drive Tree toggle causes FM/2 to "follow" the current selected directory in the Drive Tree (when you move the cursor in the tree, the directory container changes to show the files in that directory without you having to press [Enter] or double-click the directory). The Double-click Opens toggle, if on, causes FM/2 to always open a new Directory Container window when a Drive Tree directory is double clicked. It's probably not useful to have both this toggle and the Follow Drive Tree toggle on simultaneously. The Treetop on expand toggle, when on, causes a directory that is being expanded in the Drive Tree to be moved to the top of the container. If you check VTree->WPS folder, when running VTree a double-click on a directory will open a WPS folder instead of an FM/2 Directory Container. Switch on focus change tells FM/2 to find and make current in the Drive Tree the directory of a Directory Container when you give the Directory Container the focus (make it the active window). Switch on directory change causes the Drive Tree to find and make current the directory that a Directory Container has just changed to look into. Collapse before switch makes the Drive Tree first collapse all expanded branches in the tree before switching because of one of the two above switch events. Expand curr. after switch causes the Drive Tree to expand the branch of the directory to which it just switched because of one of the two above switch events. ═══ 11.5.7. Drive Tree sort/views page ═══ This page contains controls that affect Drive Tree sorting and view type. The Drive Tree will be updated with these settings when you close the Settings notebook. ═══ 11.5.8. Archive page ═══ This page contains controls relating to archivers and Archive Containers. If the Show archiver activity toggle is checked, FM/2 runs archiver windows in the foreground. Normally it runs them in the background, minimized, so you'd have to use the task list to pull them to the foreground if you want to see them. The Quick arc find toggle, if checked, causes FM/2 to check only files with extensions that match those configured in ARCHIVER.BB2 as potential archives during a drag and drop operation. If you're dragging over files on a floppy or network directory, this can speed things up a bit. The Folder after extract toggle, if on, causes FM/2 to create a folder to hold objects extracted from an archive via an Archive Container. You'll be given an opportunity to abort the folder creation or to decide where the folder will be located and what it'll be named. You can set a Default archiver so that, when you're archiving files and directories, this archiver is the default for the Select Archiver dialog. The Ext. Path field, if anything is in it, gives the default directory in which to place extracted files. Otherwise, FM/2 takes a wild, hairy guess about where you want the extracted files to go (although it'll let you override manually). You can enter "*" as the extract path and FM/2 will use the directory in which the archive resides. The Find button can be used to find a directory and fill this field in automatically. ═══ 11.5.9. Viewers page ═══ This page contains controls relating to viewers. Fast internal viewer causes FM/2 to use the faster (non-MLE) internal viewer (unless you have an external viewing program defined). The Guess view type toggle, if on, causes FM/2 to guess at the type of the file being viewed (text or binary) and display it accordingly. The Run Viewer as child session toggle causes FM/2 to run the Viewer program (see below) as a child session. The main result of this is that the Viewer will close when FM/2 closes. You can fill in the names of programs to run to view WWW (http://) or FTP (ftp://) internet components when they're encountered in text in the internal viewers here. In the faster (non-MLE) internal viewer, double-clicking the line containing the component causes it to be viewed (you're given a choice of component if there's more than one on the line). For WWW components, the prefacing "http://" is included. For FTP components, the prefacing "ftp://" is not included. In the MLE internal viewer, you highlight the desired text and choose to view the component from a context menu. The command line that you enter here is automatically appended with a space and then the component descriptor from the text. FM/2 uses one of two internal viewers or an internal MLE editor if you have no text viewer, binary viewer or text editor configured here. It's recommended that you fill these fields in with whatever viewers and editors you like rather than use the internals. The Find button can be used to find a program and fill these fields in automatically (see examples at that topic). ═══ 11.5.10. Compare page ═══ This page contains controls related to comparing objects. The Compare field gives a program that FM/2 will run when you compare two files (or a file and a directory, which should compare the file to a file of the same name in the directory, if possible). If the Dir Cmp field is filled in, FM/2 runs that when directories are to be compared. FM/2 fills in the name of the two directories after the text entered in this field -- no "%a" or other metastring (see below) is required. The Find button can be used to find a program and fill these fields in automatically (see examples at that topic). ═══ 11.5.11. Monolithic FM/2 page ═══ This page contains controls that affect FM/2 when run as a monolithic program (a Drive Tree and none or more Directory Containers contained within a larger main window, including optional Toolbar, User Lists, etc.). The Viewer outside, INI viewer outside, Collector outside and Arcboxes outside toggles, if checked, cause FM/2 to open windows of the corresponding kinds outside the main FM/2 monolithic frame window. The Userlist switches toggle reverses the operation of the user directory quicklist control -- if you click an item in the dropdown list without holding down Shift, the last used Directory Container switches, if you hold down Shift while clicking, a new Directory Container is opened. The Recent Dirs toggle, if on, causes FM/2 to place temporary entries for directories "visited" during a session to the user directory quicklist and Walk Directories dialog. The Separate parameters toggle tells FM/2 whether to use separate parameters for many of the mini-apps (like VDIR and VTREE). If checked, you'll have to set up each application separately, but configurations can be different than that in the monolithic FM/2 application itself. If you don't understand that, let's try this: if you run the Visual Tree program a lot, you'll probably want to check this. Otherwise, you won't. If you check the Free Drive Tree toggle, FM/2 will allow you to move the Drive Tree Container. Otherwise it "pins" it in the upper left corner of the client window. Normally FM/2 leaves a space below the Drive Tree just the right size for a minimized window. Checking the No space under Tree toggle causes FM/2 to start without this space below the Drive Tree. The Save state of dir windows toggle, if checked, causes FM/2 to "remember" the directory windows that are open when you close FM/2 so that it can open them again when you restart FM/2. If you turn this on, be sure to play with the Free Tree and Autotile toggles under the Windows menu to achieve the desired effect (everyone will want a different effect). You'll probably want to omit any directories from the command line if you turn on this toggle. If you turn on Autotile (it's on by default), FM/2 will retile the windows in many cases to try to keep things neat. If Split Status is checked, you get two status lines at the bottom of the FM/2 window instead of one. The left status line typically contains information about the current container, the right about the current object in the container. Cool. The Start minimized and Start maximized toggles cause FM/2 to assume the indicated state after startup. The Minimize to databar toggle, if on, causes FM/2 to minimize to a small, bar-shaped window (the databar) showing some system information. The databar can be run separately if desired -- look in the FM/2 folder. The Tile backwards toggle, if on, causes FM/2 to favor tiling windows so they're taller than wide. I suggest you think twice before doing this; displaying files is basically a horizontal operation, not vertical (at least in countries that read left to right or right to left), and some DOS programs have instilled a LOT of bad habits. The Toolbar help toggle controls whether or not FM/2 shows "bubble" help when the mouse pointer passes over toolbar buttons. The Animate toggle, when on, causes internal FM/2 windows to be animated when they open and close (if you have animation turned on in the WPS System object, of course). Silly. The Blue/yellow LEDs toggle, when checked, causes FM/2 to display the thread LED as blue (off) and yellow (on) LEDs rather than the default red (off) and green (on) LEDs. The change will not show up on the application window until you close and then reopen FM/2. ═══ 11.5.12. General page ═══ This page contains controls that didn't seem to fit anywhere else. Confirm delete controls whether FM/2 will ask you to confirm the deletion of files (deleting directories or hidden/system files always requires confirmation). It is recommended that you leave this option on; FM/2 will let you confirm all files on which you're acting from one dialog, so it has minimal impact and provides a safety net. The Verify disk writes toggle turns system-level write verification on and off. This is like typing VERIFY ON or VERIFY OFF at a command line. The Don't move my mouse! toggle keeps FM/2 from moving your mouse (to place it in the center of a popup menu or over the Okay button in some dialogs). Some people like the help, others don't. Take your pick. Link Sets Icon changes the action of a link-drag. If this toggle is set, a link drag causes FM/2 to try to set the icon of the target to the icon of the first dropped object (if the first dropped object has no .ICON EA and is not an icon file, the target's icon is reset. Note that OS/2 sometimes buffers this info and an icon change may not show up immediately). If not set, a link drag causes FM/2 to do a compare of the target with the dropped objects. If Default action Copy is checked, FM/2's windows perform a copy rather than move by default (note the highlighting on the mouse pointer as your cue). Instead of pressing the Ctrl key to change a drag from a move to a copy, you'll need to press the Shift key to change a drag from a copy to a move (don't ask me why). Note that this is the opposite of the standard OS/2 behavior, so know what you're doing. I remind you that pressing F1 when you have a target in an FM/2 window will display some help on what the drag command would have performed. Someone didn't like the bar graphs on the drivespace controls of the databar, so checking Boring databar will cause them to be displayed as drab old text, if you prefer it that way. FM/2 usually performs copy and move actions at the lowest "normal" priority available. If you'd like FM/2 to use a true "idle" priority, check the Idle Copy toggle. Warning: if a DOS program is running, even in the background, idle priority threads slow way down. Performance at true idle with DOS programs running may not be acceptable. The Drag&drop dialog toggle, if checked, causes FM/2 to bring up a dialog allowing you to select the action a drag and drop should perform. Default delete perm. controls which type of deletion is the default for the Delete context submenu. If this is checked, the default is permanent ( unrecoverable) deletion. ═══ 11.5.13. Scanning page ═══ This page contains controls related to how FM/2 scans your drives. Uppercase names and Lowercase names control how FM/2 pretreats filenames before inserting them into the container. The default is not to change the case of the filenames at all. Changing these toggles will have an effect on the next rescan. If Load Subjects is checked, FM/2 loads object descriptions from their standard WPS .SUBJECT EAs during scans. If you change the state of this toggle, you'll need to rescan to get the change to show up in FM/2's containers. Note that only the Details view shows Subjects. Subjects may be direct-edited when showing in the container. You can also pick Subject from a context menu, whether Subjects are being loaded during scans or not, to view and optionally change the object description. You can turn this off to increase scanning speed. You can also adjust this on a drive-by-drive basis from the command line (see the READ.ME that came with FM/2). If Load Longnames is checked, FM/2 loads the .LONGNAME extended attribute for non-HPFS drives. This attribute usually contains a long name for objects that should be restored if the object is moved to an HPFS drive. As for Subject, Longnames are only shown in the Details view. You can turn this off to marginally increase scanning speed. You can also adjust this on a drive-by-drive basis from the command line (see the READ.ME that came with FM/2). If Load file icons and/or Load directory icons are checked, FM/2 will load the icons of objects from the file system; otherwise it uses defaults. Although turning these off can speed up scanning, it makes for boring containers. This is PM, folks, enjoy the bells and whistles! You can also adjust this on a drive-by-drive basis from the command line (see the READ.ME that came with FM/2) so that you can, for instance, skip reading in icons from very slow drives (CD or floppy, for example) and/or from disks containing only DOS programs (DOS programs don't normally have special icons associated with them, anyway). Notes: some very slow drives (like EZ and ZIP drives) will benefit from turning off some of the automatic information gathering above. Experiment and adjust to taste. See also the Drive flags topic. Many remote FSDs have bugs in their file finding functions, preventing a find for more than one file at a time from working correctly. Symptoms range from invalid data returned to trapping of the requesting application. While you'd think that these bugs would be fixed (and they are), new versions seem to reintroduce them again. Therefore, FM/2 provides the Remote find bug toggle. If checked, FM/2 will only ask for one file at a time from remote drives. This is slower, but at least useable. If you turn this toggle off (it's on by default) and FM/2 starts behaving strangely, turn it back off. If FM/2 traps and you can't get to the settings page, disconnect from the network, start FM/2, then turn off the toggle. If that's not possible for some reason, use FM/2's INI editor to view FM3.INI and delete the "RemoteBug" keyword from the INI (which will cause FM/2 to revert to the default setting). If the Don't scan remov. is checked, FM/2 won't attempt to find subdirectories on removable drives until you double-click the drive in the Drive Tree, so you won't see a [+] sign beside removable drives even if they do contain subdirectories until you double-click the drive. Floppy drives A: and B: receive this treatment without this toggle; it's for other removable drives, like CD-ROM drives. This was added to allow folks with CD-ROM carousels to avoid having each CD loaded and scanned automatically at FM/2 startup. The Findbuf spin button controls how many files FM/2 searches for in one system call. The higher this number, the faster FM/2 works (with properly operating FSDs that support "finding" more than one file at a time -- unfortunately, the FSDs that can benefit the most from this, network FSDs, are the ones most often broken), but the more memory is temporarily consumed as a container is filled. If you habitually work with directories containing great numbers of files and have sufficient memory, boosting this may be a good idea. On the other hand, if you are extremely limited in memory (less than 16 megs), reducing this might be the thing to do. The range is 16 to 2048, with 128 the default. ═══ 11.5.14. Quick configuration page ═══ This page allows you to select from a few pre-configured setups for FM/2 in general. You'll see this page automatically the first time you run FM/2. Pick something that looks close to what you want without worrying too much about it -- you can always change it later. Default restores FM/2 to its default state, for the most part. Max user interface activates most of FM/2's bells and whistles -- user lists, toolbar, autoview window, etc. Min user interface turns off FM/2's toolbar, menus, etc. You'll have to use the mouse and work from context menus and accelerator keys alone, but you'll have the maximum amount of free space within the main FM/2 window. Hint: The System Menu contains the command to unhide the pulldown menu, if that's going too far for you. Max info, pretty puts FM/2's Directory Containers into their maximum information state as attractively as possible. Max info, plain puts FM/2's Directory Containers into their maximum information state without caring about how pretty it looks. Consequently, more filenames fit in a container at once. Max filenames puts FM/2's Directory Containers into a state that allows the most filenames per container. Rather unattractive. Max speed turns off some automatic information gathering to make FM/2 faster, but displays get a bit "dumber." 1.x emulation sets up FM/2 2.x to behave somewhat like FM/2 1.x for those who prefer that style. Generally I find that such a preference is more due to ignorance of what 2.x will do; perhaps this will allow folks to get over initial knee-jerk responses. (That's not meant as a slam to users who prefer 1.x, simply a logical observation on the part of the opinionated jerk author and an example of why authors who can afford it should hire someone else to write their documentation). DOS-think is just for you dinosaurs (there I go again). Windoze-think is for dinosaurs who believe themselves to be mammals and have the irrepressible urge to name all their offspring and pets "Billy" (somebody please stop me). There is no Mac-think option -- the only appreciable difference between Mac and OS/2-think is that OS/2 users can edit a CONFIG.SYS file and still figure out how to type DIR at a command line when it suits them. Hector's way sets FM/2 up the way the author likes it. YMMV. You might also want to take a look at the "FM/2 Lite" object in the FM/2 folder. ═══ 11.5.15. Find button ═══ The Find button can be clicked to bring up a dialog that will let you point-and-click on a file or directory name that will be imported to the current entry field. For example, if you're in the Editor entry field and click Find, you'll get a standard OS/2 open dialog which you may use to find your editor executable. Examples: Editor: "EPM.EXE %a" or "Q.EXE %a" or "VS.EXE %a" or "CMD.EXE /C START /C /FS EMACS.EXE %a" Viewer: "HVPM.EXE /K %a (Hyperview PM, excellent viewer)" or "LSTPM.EXE %a" or "LIST2.EXE %a" Compare: "COMP.COM %a" or "CONTRAST.EXE %a" or "GFC.EXE %a" or "CMD.EXE /C MYCOMP.CMD %a" DirCmp: "PMDMATCH.EXE (PMDirMatch, excellent directory comparitor)" Virus: "OS2SCAN.EXE %p /SUB /A" The following replaceable "metastrings" can be used in command lines: %$ drive letter %a full pathnames %A full pathnames, no leading drive letters %c command processor specified in %COMSPEC% %f filenames, no paths %F filenames, no paths or extensions %e extensions %p path (d:\directory) %P path (\directory) %u path of first datafile (d:\directory) %U path of first datafile (\directory) %% a percent sign ═══ 11.6. Databar ═══ The databar can be set to appear when FM/2 minimizes (see Settings notebook's Monolithic page). The databar shows swapper information, time and date, memory information and process[/thread] information. In addition, the databar can optionally show the free drive space on all local fixed drives (and, optionally, remote drives). To force a drive's information bar to be updated immediately, click it once with B1. The drive information is presented in both text and as a colored bar showing the amount of free space in relation to the total drive's size. The bar is usually green, but will turn blue and then red as space decreases. When a bar is red, it's probably time to do some archiving to get more free space on it (less than 10% of the drive remains free). The swapper information includes the size of the swapfile, in kilobytes, and the amount of free space on the drive holding the swapfile, again, in kilobytes. The memory information includes the amount of free physical memory and total free memory (including available swapspace), also in kilobytes. The time/date information is updated about once every three seconds. The other information is updated about once every ten to sixty seconds. For about six seconds of every minute the time/date field displays the elapsed system time (how long the system's been up). You can click the time/date field with B1 to cause this info to show up briefly at any time, click with B3 to cause the System Clock to open, or chord to cause the System Clock's Settings page to open (so you can adjust the system time and/or date). You can move the databar by clicking and holding B1 on the databar and dragging it. You can request a context menu on the date/time window to adjust some other items. Double-clicking the databar with B1 will close it and restore FM/2 if you're not running the DATABAR.EXE miniapp. If you're running the miniapp, request a context menu on the databar and click the Close Window command. This context menu also lets you configure the databar (if drives are displayed, if it floats to the top of other windows, etc.). The databar can only be controlled by the mouse, so don't bother with it if you don't have a mouse or are afraid of the rodent. ═══ 12. Windows Menu ═══ The Windows submenu lets you control FM/2's child windows. In addition, you can select child windows to give the focus from the bottom of the menu. Following is a discussion of the "permanent" commands on the menu. Tile: Causes child windows to be tiled. Cascade: Causes child windows to be cascaded. Arrange Icons: Causes any minimized icons at the bottom of the screen to be arranged neatly. Dialog: Brings up a dialog that lets you minimize, restore or close selected child windows. You can also chord the mouse on a blank portion of the main client window to call up this dialog. Restore: Restores any minimized child windows. Minimize: Minimizes child windows. ═══ 12.1. Window List ═══ This dialog lets you minimize, restore or close selected child windows. It's accessed via toolbar button, Windows->Dialog or by chording on a blank portion of the main client window. Highlight the windows on which you want to act, then click the appropriate button. ═══ 13. Context menus ═══ Context menus (also called popup menus) are used extensively in FM/2, just as they are in the WPS. Context menus are requested by placing the mouse pointer over a desired object in a container (or over container whitespace) and clicking mouse button two (B2, usually the right button). Commands that affect the container as a whole are found in context menus requested over whitespace (any empty area of the container). Commands that affect the objects within the container are requested over the object of interest. If an object is highlighted when a context menu is requested, the commands will usually affect all highlighted objects; otherwise, any commands will affect only the object over which the menu was requested (you'll see visual feedback to this effect). FM/2's Files menu shows the same menu that would be obtained if you requested a context menu over the current object. FM/2's Views menu shows the same menu that would be obtained if you requested a context menu over the current window's whitespace. Note: FM/2 Lite's pulldown menus are simplified, but the context menus have all the commands available, so the Files and Views menus aren't exact matches as in FM/2. When a menu command leads to a dialog, the command name is followed by dots (i.e. "Attributes..."). In cases where commands have accelerator key equivalents, the accelerator key is listed after the command (i.e. "Info... Ctrl + i"). See also: Context menus affecting objects Context menus affecting containers Context menus affecting Drive Tree container ═══ 13.1. Context menus affecting objects ═══ (Note that not all commands are available for all objects on all drives; CD-ROM drives obviously wouldn't allow Delete and Move commands, for instance, since they're read-only drives.) The View conditional cascade submenu allows you to view the current object. Since this is a conditional cascade submenu, you can click on the button to get a list of choices or click elsewhere to get a default viewing action (noted below). Autoview views objects through the configured viewer. This is the default for the Files->View conditional cascade submenu when a file is the current object. When you select Autoview, FM/2 guesses whether the file is text or binary data and views it accordingly. as text causes FM/2 to view the current file object as text, using the configured text viewer or the internal if none is configured. as binary causes FM/2 to view the current file object as binary data, using the configured binary viewer or the internal if none is configured. Binary data is usually viewed as a hex dump. Information brings up a dialog telling you everything you ever wanted to know about file system objects but were afraid to ask. If you select this from a drive object (root directory) in the Drive Tree container, you get a "drive information" dialog that lets you change the drive's label. Otherwise, you get a comprehensive dialog that, besides showing you all the pertinent information about the object, shows the object's icon. That icon is important. You can get a context menu on it, and you can drag other objects onto it to change the object's icon. If the object is an icon or pointer file (*.ICO or *.PTR) you can use it to change a system pointer (for instance, you could change OS/2's usual arrow pointer to a finger). You can draw pointers yourself using OS/2's ICONEDIT program, or find them pre-drawn in several collections of icons and pointers freely available on BBSes. This is the default command for the Files->View conditional cascade submenu when the current object is a directory. Multimedia attempts to play the objects via MMPM/2 using FM2PLAY.EXE (from the FM/2 Utilities collection, distributed separately in FM2UTILS.ZIP). Obviously, the objects must be multimedia objects (sound files, movies, midi files, etc.) for this to have the desired effect, and MMPM/2 must be installed in your system. Note: for this command to work properly with large numbers of files (where the length of the resultant command line would exceed the OS/2 command line length limit of 1000 characters), you must have a version of FM2PLAY.EXE that supports the /# command line switch. To test your version of FM2PLAY.EXE, run FM2PLAY /? and see if /# is listed as a supported switch. If not, upgrade to a new version of the FM/2 Utilities. Update objects updates objects by refreshing the information FM/2 has on them from disk to make sure it's current (an alternative to rescan for special situations). Hide objects hides objects (removes them from view in the container) until you rescan, use the Filter dialog or switch directories. The Edit conditional cascade submenu allows you to edit the current object. Since this is a conditional cascade submenu, you can click on the button to get a list of choices or click elsewhere to get a default editing action (noted below). Autoedit edits objects through the configured editor. This is the default for the Files->Edit conditional cascade submenu when a file is the current object. When you select Autoedit, FM/2 guesses whether the file is text or binary data and edits it accordingly. as text causes FM/2 to edit the current file object as text, using the configured text editor or the internal if none is configured. as binary causes FM/2 to edit the current file object as binary data, using the configured binary editor. Binary data is usually edited as a hex dump. No default binary editor is provided at this time, but that may change. Extended Attributes allows you to view an object's extended attributes (EAs) and to edit and add text attributes. Attributes leads to a dialog that sets objects' attributes and (optionally) date/time. This is the default for the Files->Edit conditional cascade submenu when a directory is the current object. Subject allows you to give an object a description. This makes use of the same EA (.SUBJECT) that the WPS uses for object descriptions -- you can see and edit it on the File page of an object's Settings notebook. Rename allows you to rename objects. You are notified of conflicts as they occur. An easier method for renaming one object is to point at its text, hold down the ALT key, and click mouse button one; however, this command allows you to use wildcards when renaming if you desire. Delete deletes objects. If the Confirm Delete toggle is on or one or more directories are among the selected objects, you get a dialog showing the selected objects and asking you to confirm that you really meant what you said. In that dialog you have a chance to remove some of the objects. If you have Undelete enabled for the drive on which the objects reside, they may be recoverable. Permanent Delete deletes objects as above, but they will not be recoverable (which may make the deletion faster). It should be noted that when deleting directory objects, the file objects within the directory can never be recovered, but deleting all the file objects inside a directory (rather than the directory itself) allows things to be recovered if you use the Delete command above rather than this Permanent Delete command and have Undelete enabled (type HELP UNDELETE at a command line for more information on enabling Undelete). Print prints text files. It'd be a good idea to have a printer to which to print, and have configured it first, before trying to use this. If using the standard WPS, be sure you have a printer object configured for the device you've told FM/2 to use, or you may wind up with FM/2's printing thread blocked for eternity awaiting access to a nonexistent or inaccessible device. Actually, if using the standard WPS, it's recommended that you simply drag files to the printer object and drop them instead of using this command. Move and Copy move or copy objects. Drag and drop is recommended over using the menu commands for moving and copying. When using the menu commands, the Walk Directories dialog appears to allow you to select a target directory. Copy and rename and Move and rename allow you to change the names of the destination files as you copy and move using the standard rename dialog. You can also copy or move with wildcarding, like you can from the command line (COPY thisfile.txt *.bak) by using wildcards in the filename portion of the destination. Copy and preserve and Move and preserve are only available in the Collector and See all files windows. These commands copy or move the selected files but preserve the directory relationship of the files. The effect of this can be non-obvious, so use with care. Let's say you select three files: G:\FOO\BAR\DUDE, G:\FOO\BAR\WOW\DUDE and G:\FOO\BAR\RUFF\DUDE. If you select Copy and preserve and pick a destination directory of H:\HERE, the resultant files will be H:\HERE\DUDE, H:\HERE\WOW\DUDE and H:\HERE\RUFF\DUDE. Note that drives are not considered when preserving directory relationships, so if one of our three files above resided on drive F:, the results would be the same. Merge lets you merge several files together into a single file (you get to set the order of the files to be merged and the name of the file to which they're merged). Shadow builds WPS shadow objects on your desktop (or other selected folder) for selected object(s). You can also create Real Objects (except for directories, for which you can only create shadow objects). Both these options (where applicable) are in a conditional cascade submenu called Create Objects, with Shadows as the default command. The Open conditional cascade submenu allows you to open an object's Settings notebook, open directories as WPS Folders, or open a new FM/2 Directory Container window for directories (the default for directories). Note that when WPS Folders are opened, they come up in the background. This is an OS/2 bug, and IBM has been notified. Opening a file's Default view will honor any OS/2 associations that you have setup. Remember that F6 or Ctrl + double-click opens an object's default WPS view, and Ctrl + Shift + double-click opens an object's WPS Settings notebook. Archive allows you to build an archive containing the selected object(s). Extract allows you to extract files from selected archives. UUDecode decodes files that were encoded with UUEncode, a common protocol on the Internet. Files created by UUDecoding are appended if they already exist. Save to clipboard allows you to save selected objects to the clipboard as a text list, one per line. This is a good way to transfer selections of files to other programs; for instance, you might copy a list of files to the clipboard and feed it to a terminal program to send the files over a modem or network. Save to list file lets you save selected objects as a list to a text file. Lists can include file sizes, subjects, etc. Collect File(s) calls up the Collector and places the selected files and directories into it. You can also open the Collector and drag things into it. Collect List in file(s) collects the files listed inside the selected files (see Save to list file above). The filename should be the first item on each line of the list. If spaces are contained in the filenames, enclose the filenames in " quote marks." Filenames must be full pathnames (d:\path\filename). Directories as well as files can be Collected. Quick Tree appears in Directory Containers. You can use this to quickly select a subdirectory into which to switch the Directory Container. Obviously, if there are no subdirectories to select from, FM/2 will ignore this command except to tell you. ═══ 13.2. Context menus affecting containers ═══ Icon switches the container to Icon view; the object's name appears below its icon. Name switches the container to Name view; the object's name appears beside its icon. Text switches the container to Text view. Text view is the fastest view for a container to maintain, but provides the least information on the objects it contains. Details switches the container to Details view. Details view shows a great deal of information on the objects it contains, including file sizes, dates, and times, but it is the slowest view for a container to maintain. Mini Icons is a toggle controlling whether icons are shown full size or in miniature in views that show icons. The Details Setup submenu allows you to control what is shown in a Details view. Each possible field in the details view for the drive type is shown. If the field is checked, FM/2 will show it. If not, it won't. Set the current view to Details view and you can see the changes as they occur. Note that for Directory Containers, the context menu items change the current container only. Use the internal Settings notebook to change the default for subsequently created containers. Rescan rescans the directory associated with a container, or the drive from the current object down in a tree container. FM/2 tries very hard to keep all its windows up to date, but things outside FM/2 can cause changes that FM/2 cannot know about automatically. This command will ensure that your display is current. The Sort submenu allows you to control how objects are sorted based on several criteria. You can also tell FM/2 to always display directories ahead of or behind files. Note that Last access date and Creation date are only meaningful for HPFS file systems; FAT file systems do not track this information. The difference between Pathname and Filename is only apparent in the Collector. With the former, the entire pathname of the object is used to sort. With the latter, only the filename portion is used to sort. FM/2 maintains separate sort criteria for Drive Tree, Collector, Directory Container and Archive Container windows. See Directory Container sort page and Collector Container sort page. Note that Ctrl + F7 will call up the Sort menu for a given container. The internal Settings notebook can be used to set the default for subsequently opened Directory Containers -- the context menu item sets the sort for _this_ container only. Resort resorts items in a container. If you have more than one Directory or Archive Container window open, selecting a new sort type only causes the container in which you requested the context menu to resort itself (although the change will affect all future rescans, resorts and insertions in that type of container). This command lets you resort a container so that the new sort type is reflected in the display. Filter leads to a dialog that lets you set filemasks and attributes for objects to include in the container's display. Note: For Directory Containers, this sets the default for _this_ container. Use the internal Settings notebook to change the defaults for subsequently created containers. Parent moves directory containers to the previous (parent) directory. Previous Directory returns the container to the last directory. This is sort of like a one-step "undo" when you switch a container to look at a different directory. Walk Directories leads to a dialog that lets you walk through your directory structures, or recall user-defined directories. Show all files is a command available on directory objects and in the container menu of Directory Containers. It invokes the See all files window and shows all the files in the directory and all its subdirectories. The Select submenu gives you many ways to highlight and unhighlight objects in a container. This lets you quickly build sophisticated selection sets of objects upon which you can perform tasks. You can select (or deselect) all files, all directories or all objects. You can also select (or deselect) everything matching a mask string which can contain wildcards, select (or deselect) filenames stored in the clipboard or a list file and invert the current selections (highlight what isn't, unhighlight what is). Finally, FM/2 offers a full set of Compare Selection tools that let you select and deselect files based on how they compare to unfiltered files in all other open Directory Containers (available only in Directory Containers). To give you an idea how this might be helpful, imagine that you just hit the [Enter] key in the middle of typing a copy command, when you were reaching for the backslash key to complete a path. Before you realize what's happening and can hit Ctrl-C, you copied fifty files from a data directory to the root directory of your boot drive (you shoulda used FM/2! :-). Now you want to get rid of them, but you don't want to pick each one. Open the data directory and the root, choose "Select if in all," then delete the selected files in the root directory. You're done. These powerful selection tools are where a file manager really outshines command line file management, so be sure to take a look at them. Note that Ctrl + F8 will call up the Select menu for a given container. ═══ 13.3. Context menus affecting Drive Tree container ═══ Expand expands the tree from the point where the context menu was requested to the bottom of the branch. This isn't the same as clicking the [+] symbol as it expands all branches. Collapse collapses the tree from the point where the context menu was requested to the bottom of the branch. This isn't the same as clicking the [-] symbol as it collapses all branches. Optimize runs a .CMD file with the name OPT.CMD, giving the drive to optimize as a command line argument. Therefore, for a FAT drive C: "FATOPT.CMD C:" would be run (through the command interpreter defined in %COMSPEC% or CMD.EXE if none is defined) and for an HPFS drive D: "HPFSOPT.CMD D:". CMD files are supplied with FM/2 that call utility programs from FM2UTILS.ZIP (a separate collection of free-for-the-using utilities, sometimes named FM2UTL.ZIP). You may modify these command files as required for your system, even to call other programs than those supplied. Always be sure to check the disk before trying to optimize it, and (in the case of the FAT optimizer) it's a good idea to back up first. You shouldn't run the FAT optimizer on compressed drives -- use the utilities that came with your compression program instead. Check Disk runs PMCHKDSK.EXE on the selected drive. This tests the drive and can correct some deficiencies. This is available only in context menus requested on drives (root directories). Note that OS/2 cannot correct defects on disks that are in use by the system or programs (including FM/2). Format Disk runs PMFORMAT.EXE on the selected drive. Formatting a disk will destroy any information already on the disk. This is available only in context menus requested on drives (root directories). Make Directory allows you to create new directories. The name of the directory where you requested the context menu is filled in as a starting point for convenience. Directories may be created many levels deep in one pass. Sizes brings up a dialog showing how many bytes are in the selected directory and its subdirectories. Eject ejects removable media from drives (for instance, opens the door of a CD ROM drive). Lock locks a removable drive. Unlock unlocks a removable drive. Partitions calls up FDISKPM.EXE to allow you to modify the partitions on your hard drives. Extreme caution should be exercised; read the help! The Drives submenu lets you select a root directory and the Drive Tree will scroll to show that directory, and make it the current object. ═══ 13.4. Merging files ═══ This dialog allows you to order the files to be merged (they're shown in the listbox at the top of the dialog) and set the Target (the file that will contain the merged files). The Merge command is under the Files->Copy conditional cascade menu. When you click Okay, each file, in order, is appended to the Target filename. The merged files are not deleted. If Append is checked, the Target file is appended if it exists; otherwise, it's overwritten by the first merge file. If Binary is checked, the files are copied in binary mode; otherwise, they're copied in text mode. To order the files, select a listbox item and click either Top or Bottom. You can also Remove a highlighted file from the list. If you need to, you can Undo the changes you've made and put the listbox back like it was when the dialog first came up. If you want to edit a file, double-click it in the listbox. When you're done, click Okay. If you changed your mind, click Cancel. ═══ 13.5. Save list to file ═══ This command allows you to save the list of selected files to a disk file (or to a printer; enter PRN for the file name to which to save the list). The Save as entry field contains the name of the file to which the list will be saved. The Find button calls up a standard OS/2 open dialog to let you point and click at a file. If the file exists, it will be appended. Hint: You can enter PRN as the filename to print the list. The listbox below this contains patterns you've saved in the past (use the Add button to add the current pattern (the one in the entry field), and the Del button to remove the currently highlighted pattern from the listbox). You can select one of the patterns in the listbox to avoid retyping it (as you highlight a pattern in the listbox it'll appear in the entry field). The patterns are saved in a file named PATTERNS.DAT, one per line. The Pattern entry field contains a pattern that will be used to format the list. Metastrings may be used to cause parts of a file description to be written where desired (see below). Also note that the pattern is run through a C-style escape encoder, so that \x1b would be interpreted as an ESCAPE character, \r\n as a carriage return and linefeed "newline," and \\ is required to get a single '\' character. When everything's set as you want it, click Okay to save the list. Click Cancel if you change your mind. Metastrings and their meanings: %s subject (description) %S subject padded to 40 chars %z file size %Z file size padded to 13 chars %e EA size %E EA size padded to 5 chars %d last write date %t last write time %l longname %L longname padded to 40 chars %f filename (no path) %F filename (no path) padded to 13 chars %p full pathname %P directory only (no file) %$ drive letter %% percent sign Note that you can manipulate list files from REXX. An EXAMPLE.CMD is included in the FM/2 archive to show you how it's done. REXX scripts written in this manner can be effectively used as Commands. ═══ 13.6. Renaming ═══ When you rename a file sytem object other than by Direct Editing, or a naming conflict arises, you get the Rename dialog. The dialog displays the Source filename and proposed Target filename, along with information about both objects. Below these two fields is a recessed box that attempts to give you directions on what to do (usually to change the target filename -- when renaming, the target name is initially the same as the source name). After entering the new target name, click Okay. If the new target name exists, the display will be updated to reflect the new information. You can, at that point, enter a new name to avoid the conflict or click Overwrite (which will destroy the old target file, keeping in mind that you can't overwrite a file with itself). Skip can be used to skip one file when you are renaming several in one action; nothing will be done for that file. Click Cancel if you change your mind and want to abort the whole thing. The Rename Existing button allows you to rename (move) the existing file system object which is causing a naming conflict. For example, if you are trying to copy a file to "C:\MYFILE" and a "C:\MYFILE" already exists, you could change the target name as desired, click Rename Existing to rename (move) the existing file out of the way, then click Okay to continue the copy operation. ═══ 13.7. Filter container ═══ This dialog allows you to filter what's shown in a container. A filemask or filemasks can be used to filter, and so can file attributes (except for archive listings where attributes are not applicable). In addition, you can set attributes that _must_ be present on the objects to be shown (for instance, if you check Hidden in the "Must-have Attribs" group, only objects with their hidden attribute set will show up). You can specify whether FM/2 should always show directories whether they match the mask(s) or not by checking the Always show directories checkbox to keep them visible. To be sure that everything in a container is displayed, clear any filemask, check all attributes in the Attribs groupbox and clear all attributes in the Must-have Attribs groupbox. You can click the All button to set the filter to show everything. As you enter filemasks they're saved for later redisplay in this dialog's listbox. If a filemask desired is in the listbox you can use it by selecting it (double-clicking it). You can get rid of a mask in the listbox by highlighting it and clicking Delete. Multiple filemasks can be used by separating the masks with semi-colons. "No filemask" can be quickly entered by just clicking the Clear and Okay buttons, or "*" can be used. Wildcard matching is not case-sensitive. If a filename does not have a period, an implicit one is automatically appended to the end during matching operations. Some characters have the following special meaning: ? A question mark matches one character, unless what it would match is a period, slash or backslash, in which case it matches no characters. * An asterisk matches characters from the source to the target until it finds a filename character that matches the non-wild character following it in the filemask, or a period, slash, backslash or the end of the filename and/or filemask. Therefore, "*.f?o" matches "anything.foo" but not "anything.foe". Up to 24 masks may be "cascaded" by separation with semicolons. When specifying multiple filemasks, you can use '/' as the first character of a mask to mean _don't_ match this filespec. Exclusions should usually be listed before inclusions to attain the desired effect. Filemask examples: /*.obj;/*.res;* (Show all but *.obj and *.res files) *.c;*.h (Show only C source and header files) *.ico (Show only icon files) *.zip;*.lzh;*.zoo;*.arj;*.arc;*.rar (Show only archive files) * (Show everything) A reminder: CD-ROM files are marked ReadOnly and will not appear in your containers unless you have the ReadOnly attribute on (checked). If you copy these files to your hard drive the ReadOnly attribute goes with them; use the menu command Files->Edit->Attribs (Ctrl + a accelerator) to reset it (you can do this to multiple files at once). This dialog also appears when you are selecting or deselecting file system objects using a mask. In this case, attribute information will be greyed out and an additional entry field (Text:) appears. You can enter text into this entry field, and only files containing the text and matching the mask(s) will be (de)selected. The title bar will remind you why you called up the dialog. ═══ 13.8. Drive Info ═══ FM/2 will show you information about the drive from which you chose the Info command in a context menu. For writeable drives, you can change the drive's label here by changing the text in the entry field and clicking Okay. The dialog box shows you the type of file system, volume label, total and available sizes of the drive (megabytes, kilobytes and units), tells you how the drive's resources are parceled into units, gives the drive's serial number and some flags. These flags indicate special properties about the drive, like Removable (the drive allows its media to be removed and changed) or Not Writeable (the drive does not allow changes to be written to it). Additionally, each drive has some flags that you, the user, can set, to tell FM/2 that you want the drive treated in some special manner. For example, you can set a "NoLoadIcons" flag to prevent FM/2 from going to the disk to get a file system object's icon (a default is used instead), which can speed up scanning on slow drives. You can change the drive's editable flags using the Edit->Drive flags command. ═══ 13.9. Object Information ═══ This comprehensive dialog tells you just about everything there is to know about file system objects. If information is being displayed for more than one object, the objects may be scrolled through in the listbox at the top of the dialog. Note particularly the object's icon. That icon is important. You can get a context menu on it, and you can drag other objects onto it to change the object's icon. If the object is an icon or pointer file (*.ICO or *.PTR) you can use it to change a system pointer (for instance, you could change OS/2's usual arrow pointer to a finger). Request a context menu on the icon (click B2 while the mouse pointer is on the icon). If you want to see inside a file, double-click it in the listbox. ═══ 13.10. Attributes ═══ This dialog allows you to set the attributes and (optionally) date and time of all objects in a selected group from one popup dialog. The dialog presents you with spinboxes to change the date and time (defaults to current time and date) and checkboxes to set the attributes (ReadOnly, System, Hidden and Archived). You can also modify the selected list of objects by pushing the Select button. If you only want to change the objects' attributes and not their date and time, uncheck the Use Date/Time checkbox. The initial state of the checkboxes and date/time spinbuttons has no relationship to the actual state of the objects being manipulated if more than one object was selected and acted upon by the command. This command affects all selected objects at once. The attribute checkboxes are "3-state" checkboxes. This type of checkbox can have three different meanings: reset attribute (cleared box), set attribute (checked box), or ignore attribute (greyed box, "indeterminate state," meaning leave this attribute unchanged). Note that checking the Use Date/Time checkbox, setting the date/time to the current date/time, and leaving the attribute checkboxes greyed results in a "touch" of the file system objects selected for the command (works like the *nix Touch command -- if you don't know what that is, don't worry too much). If you want to see inside a file, double-click it in the listbox. Click Okay when done, or Cancel to abort. ═══ 13.11. Print files ═══ This dialog, which appears before a selected group of one or more files is to be printed, lets you finalize your selection and set the parameters to be used when printing occurs. The listbox at the top of the dialog contains the files that are to be printed. You can unhighlight (deselect) any files that you do not want to print. Hint: you might need to hold down the Ctrl key while clicking to unhighlight the first file. At the bottom of the dialog you can tell FM/2 whether to use formatted printing, which performs pagination for you, or to print the text file raw (it should already be paginated). You can also specify the printer to which output should go (default is PRN, the default system printer, but you could specify LPT1, LPT2, etc., or even a text file). Note that FM/2's printing is really meant for situations in which the PM printer objects and spooler aren't available -- you can just drag objects to the printer objects otherwise. The rest of the controls are used to determine how FM/2 should format the text file for printing. You can specify the width and length of the page (in columns and rows respectively), how many lines to leave blank for bottom and top margins, how many characters to leave blank for left and right margins, whether to print pages sequentially or print first odd pages, then even pages (Alternate pages). You can specify the line spacing used (1 for single-spaced, 2 for double-spaced, etc.), and tell FM/2 if it needs to print a formfeed before and/or after each file it prints. Click Okay when you're ready to print. Click Cancel if you changed your mind and don't want to print anything. Notes: Not all files will print well with formatted printing turned on. The file should not contain any control codes aside from carriage returns and linefeeds. The file's lines should be short enough to fit within the confines of width - (left margin + right margin). For files that were formatted to be viewed on-screen, this may mean setting your printer to use a narrower typeface and increasing the width parameter in the FM/2 print setup dialog above 80. Refer to your printer documentation for how to change the default font. When printing Alternate pages, FM/2 reverses the left and right margins when printing even numbered pages. This is designed to let you print front and back (page 2 on the back of page 1, etc.) and then bind the result along the left side (left of page 1, right of page 2, etc.). FM/2 will first print the odd numbered pages, beginning with page 1, then prompt you before beginning to print the even numbered pages, beginning with page 2, thereby allowing you to reload the printer so as to print on the back sides of the already printed pages. ═══ 13.12. Shadow ═══ FM/2 has the ability to create shadows of objects on your WPS desktop (or in other WPS folders). To create shadows, select objects in an FM/2 window, then select Shadow from a context menu or the Files pulldown submenu (Create Objects submenu). If only one shadow is being created, the shadow is placed directly into the folder you specify. If more than one shadow is being created, FM/2 first prompts you for the name of a folder. This folder is then created on the desktop and the shadows are placed inside that folder. You can move the shadows or folder elsewhere after that. ═══ 13.13. Real Objects ═══ FM/2 has the ability to create objects on your WPS desktop (or in other WPS folders). To create objects, select objects in an FM/2 window, then select Real Objects from a context menu or the Files pulldown submenu (Create Objects submenu). If only one object is being created, the object is placed directly into the folder you specify. If more than one object is being created, FM/2 first prompts you for the name of a folder. This folder is then created on the desktop and the objects are placed inside that folder. You can move the objects or folder elsewhere after that. ═══ 13.14. Extract from archives ═══ To extract from an archive, select the archive(s), then select Extract from a context menu. FM/2 presents you with a dialog that allows you to select the method of extraction, add masks for files to extract, tweak the command line for exotic settings, and select the extraction directory (the directory to which the files will be extracted. You can drag file system objects onto the Extract Directory entryfield to set the extraction directory, or you can type in one you like, or click the Walk button. If you check the Remember... checkbox, this dialog will remember some of its settings for the next time you use it. Uncheck it and it'll forget them and use the defaults. Click Okay to begin extracting from the archive, or Cancel if you change your mind. You can also extract files from the archive in the Archive Container window using that window's menus; double-click an archive file in an FM/2 main window to view the archive listing. Notes: I have a copy of ARC.EXE here that's 'broken' in that it won't extract files unless given a DOS filemask (for instance, to extract all files you need to enter *.* (not *) in the masks field). FM/2 normally gives no filemasks as the argument when you want to extract everything, which every other archiver in the world understands. The ZIP/UNZIP programs are case sensitive even though OS/2 itself is not, so, for example, trying to extract "*.PKT" when the file inside the archive is "01234567.pkt" will fail to extract the file -- you'd have to use "*.pkt". If in doubt, use both. ═══ 13.15. Build an archive ═══ To build an archive, select some files, then select Archive from a context menu. You can add files to an existing archive by link-dragging them onto the archive object, or dragging them onto an Archive Container window. FM/2 will ask you for the type of the archive by presenting you with a listbox from which to pick an archiver. After that, another dialog appears to let you modify how the archive will be created. Additional masks may be entered (remember that the ZIP and UNZIP programs are case sensitive), the archiver command line tweaked, and so forth. Click Okay to create the archive, or Cancel if you change your mind. Note that the archive name may be an existing archive, in which case it's modified by adding the new files. If some of the files are already in the archive, they're replaced. ═══ 13.16. Extended Attributes ═══ This dialog allows you to view and edit text Extended Attributes (EAs) for an object. Binary EAs may be viewed but not edited. You'd have to be the sort who enjoys programming on a hex keypad to want to edit a binary EA... There are three types of EAs that FM/2 can view and edit (the only three types that have meaning to humans): ASCII EAs are shown in an entry field. Multi-value single-type EAs are shown in an MLE control if the type is text. Each line represents one 'record' of the EA. Multi-value mult-type EAs are also shown in an MLE control if all types are text. Each line represents one 'record' of the EA. In general, if you don't know the purpose of an EA you shouldn't change it. In particular, EA names beginning with a period (i.e. .TYPE), as these EAs are used by the WPS. An exception is the .SUBJECT EA, for which FM/2 provides a special context menu item. This EA is used to store a simple text description of an object. FM/2's details views can show this description and allow you to direct-edit it. To view a particular EA, select its name in the listbox in the middle of the dialog. The EA type will be shown on a text field toward the bottom of the dialog, and if it's a human-editable type the appropriate control will appear to display it; otherwise, a hex dump is shown in a listbox. If you edit the EA, a Change button can be clicked to save your changes. You can delete EAs, but do so with extreme caution and at your own risk. Otherwise, click Okay when done. If you're viewing EAs for more than one object, you can change the current object by scrolling the listbox containing the names of the objects at the top of the dialog. If you want to see inside a file, double-click it in the listbox. See EAUTIL in OS/2's Command Reference for more information on EAs and how to manipulate them. Note that this dialog is not meant to be a full-featured super-powerful EA editor (though it does a decent job with text EAs and beats the pants off what comes with other file managers -- if anything at all comes with them, that is). You can use Config->Edit Commands to add such an external EA editor to a list of commands that you can run on selected files, if desired. ═══ 13.16.1. Adding an Extended Attribute ═══ To add an extended attribute (EA), enter its name in the top entry field, then select a type for it from the radio buttons. Click Okay to create it, Cancel to abort. OS/2 defines several Standard Extended Attributes (SEAs): .ASSOCTABLE is a multi-value multi-type (MVMT) EA. FM/2 will not create one of these, but you can with the Association page of a program object in the WPS. .CLASSINFO is a binary attribute. FM/2 will not create one of these, but the WPS does automagically as required. .ICON is an icon attribute. FM/2 will not create one of these via the EA dialog, but you can change the icon of a file system object in other, more direct, ways with FM/2. .CODEPAGE is an attribute (don't know the type). FM/2 won't make one. .TYPE is an MVMT attribute (see a file object's Type Settings page). .SUBJECT is an ASCII attribute (see a file object's File page). This describes the object. FM/2 makes use of these for you. .COMMENTS is an MVMT attribute (see a file object's third File page). .KEYPHRASES is an MVMT attribute (see a file object's third File page). OS/2 documentation describes this as an MVST, but the WPS objects create MVMTs. .HISTORY is an MVMT attribute (see a file object's third File page). .LONGNAME is an ASCII attribute that gives the full name of a file when stored on a file system that doesn't support long filenames (like FAT). Sometimes you'll see them even on files stored on HPFS drives, when invalid characters (invalid for the file system, like a colon not used for a path separator, for example) are used. .VERSION is an ASCII attribute that gives some sort of version information. When creating attributes of your own, you should not begin them with a period. Try using a convention like "JOES.ATTRIBUTE" (yourname.attribtag) to make sure it doesn't conflict with the WPS or any apps you may run. .SUBJECT, .COMMENTS and .KEYPHRASES can be modified, deleted and added by the user without problem. The other standard EAs are the domain of apps and the WPS and should be left alone. You can, of course, create your own EAs and manipulate them with REXX or other types of programs. ═══ 13.17. Total size of directories ═══ This dialog's container contains a breakdown of disk usage for a directory and its subdirectories. The container is reached by selecting Miscellaneous->Sizes from a tree directory's context menu or by running the Dir Sizes program object from the FM/2 Tools subfolder created by INSTALL. The container displays a tree view of a directory and all its subdirectories. Expand and Collapse buttons allow you to quickly open and close branches of the tree. After the container has completely filled, each record displays the object's name and four numbers, as in: ADIR 4096k + 8192k = 12288k (8.24%) The first number is the percentage of the used space this directory contains, in relation to the total used space on the drive. The first number is the number of kilobytes occupied by the directory and any files and subdirectories it contains. The second number indicates the total number of kilobytes occupied by all subdirectories and their files and subdirectories. The third number is the total of the first and second (addition performed on byte count before rounding to kilobytes). The percentage in parentheses is the percentage of the space used by the tree that this directory contains of the entire tree displayed. A graph appears below the line displaying a "picture" of this percentage. FM/2 also color-codes the text describing the directory. Black text indicates that something is below the directory. Blue text indicates that nothing is below the directory (note there may be subdirectories, but they are empty). Grey text indicates that the directory is totally empty. The first (parent) item in the tree shows the percentage of the drive used by the entire tree. This is noted in the parentheses containing the percentage, and the graph for this item is green instead of red. The totals reflect the size of files and extended attributes. Due to minimum allocation units on the disk, more space may be physically allocated than is accounted for in the totals. The text field just above the pushbuttons gives you stats that _do_ take allocation units into account, for the entire drive. Also be aware that directories containing more than 0 bytes but less than 1024 bytes will be displayed as containing 1k (1 kilobyte, equal to 1024 bytes) so that you know that a 0k figure denotes a directory with a truly 0 byte count. You can double-click a directory to open it so you can see its files. This is a quick way to see where your disk space has gone. Hint: You can get a printout of this information by entering PRN as the name of the Save file. The information printed is the same as that visible in the container, which is to say that unexpanded branches aren't printed, so you can be somewhat selective about the information you print. ═══ 13.18. System Pointer Manipulation ═══ This dialog is reached from the context menu of the icon in a file system object Information dialog. Set the radio button of the system pointer you want to change. Then click Okay. Click Cancel to abort if you change your mind. Changes to system pointers are persistent (they stick around even when FM/2 is no longer running). ═══ 13.19. Object Container ═══ This dialog allows you to select a new folder (directory) to hold objects that FM/2 creates. By default it is . FM/2 tries to find the directory being used as the desktop folder first in the OS/2 system INI, and if that fails, uses the directory \DESKTOP on your boot drive as the "desktop window object" directory -- this is the OS/2 2.1+ default. I suppose future versions of OS/2 could break this and make an update necessary, but IBM seems to think (though won't guarantee) it should always work. A button labelled Desktop allows you to restore the default setting. This will work whether the above fails or not. ═══ 13.20. Quick Tree ═══ The Quick Tree dialog displays a container showing all the subdirectories of the directory currently displayed by a Directory Container window (or one of its subdirectories, depending on how you picked the command). If you select one of these subdirectories, the Directory Container window will switch to look into that directory. You can click Cancel if you change your mind. This might be useful when you want to move to the bottom of a long subdirectory chain in one step. ═══ 13.21. Selection ═══ The Ctrl + F8 accelerator calls up the Select menu for a given container. You can also, of course, get to it with the mouse via the Views menu. What follows is an item-by-item description of the commands in the Select menu. Where both Select and Deselect commands are available, only the Select command will be discussed to save space and avoid repetition. Select All Selects all objects in a container. Deselect All has an accelerator Ctrl + \. Select All Files Selects all the file objects in a container. The accelerator key Ctrl + / is assigned to this command. Select All Dirs Selects all the directory objects in a container. The accelerator key Shift + Ctrl + ? is assigned to this command (same as for Select All Files with the addition of the Shift key). Deselect All Dirs has an accelerator Shift + Ctrl + | (same as Deselect All with the addition of the Shift key). Select Mask Allows you to select files that match a filemask. The same dialog is used for this command that's used for the Filter command. When you first initiate this command, FM/2 fills in a default mask built from the current object's name. So, to quickly select all the *.BAK files in a container, you could select one of the files, then type Ctrl + = (the accelerator assigned to Select Mask) and press [Enter] to accept the default filemask built by FM/2 (*.BAK). Select clipboard If the OS/2 clipboard contains a list of files (such as can be created with the Save to clipboard command), you can select any files present in both the container and the list with this command. The accelerator for this command is Ctrl + ]. The accelerator for the Deselect clipboard command is Shift + Ctrl + }. Select List If you've saved a list to a file (such as can be created with the Save to list file command), you can select any files present in both the listfile and the container with this command. Reselect This command causes the container to reselect the last selected items. The accelerator is Ctrl + '. Invert selection Selects what isn't, deselects what is. In other words, reverses the current selection set. Compare selections FM/2 provides Directory Containers with special selection commands that can be used to select file objects based on their relationship to file objects in other open Directory Containers. These commands are extremely powerful tools that can let you, for instance, compare two directories to see what's different about them. See also Compare Directories. Select if in all This command selects any file objects that exist in all open Directory Containers. Select if in more than one Selects any file objects that exist in more than one open Directory Containers. Select if in one Selects any file objects that exist in only one open Directory Container. Select newest Selects the newest file objects that exist in more than one open Directory Container. Select oldest Selects the oldest file objects that exist in more than one open Directory Container. Select largest Selects the largest file objects that exist in more than one open Directory Container. Select smallest Selects the smallest file objects that exist in more than one open Directory Container. ═══ 14. Folder Button ═══ Folder buttons appear on directory and archive containers at the top center of the window (below the title bar). They provide several shortcuts for their containers. Behavior for each type of container is as follows: Directory containers: B1: Go to parent directory B2: Context menu B1+Ctrl: Go to previous directory B1+SHIFT: Walk directories B1+ALT: Child window dialog B3 or Chord: Rescan directory Archive containers: B1 or B2: Walk directories B1+ALT: Child window dialog B3 or Chord: Rescan archive You can also drag a file or directory object onto the folder button. In directory containers, the directory "switches" to "look at" the directory of the dropped object. In archive containers, the extract directory changes to that of the directory of the dropped object. This means that, for instance, you can set the extract directory for an archive to the same directory that the archive is in by dragging from a recessed text field next to the folder button (which drags the archive itself) and dropping it on the folder button. Here you can see the folder button in a Visual Directory (VDIR.EXE) centered between two recessed text status windows just under the titlebar. The type of view shown here is Icon view. ═══ 15. Archive Container ═══ Archive Container windows presents you with a list of an archive's contents. The menus available here present you with commands which you can perform on selected files and the archive as a whole, as well as the usual configuration of the window's appearance. You get here by double- clicking an archive file in an FM/2 Directory Container window. Archive Container windows have their own sorting method, accessible via a context menu requested over whitespace (the Views menu). Besides the container showing the archive contents and a couple of informational fields above that, there's an entry field at the bottom of the window that shows the current extract directory. This is the directory in which any extracted files will be placed. (Extraction refers to copying files from the archive onto your disk as normal files.) To change the extract directory, enter a new directory into the entry field (if it doesn't already exist you'll get an option to create it), drag a directory onto the entry field, or click the folder button with B1. You can drag files onto the Archive Container's listing to add them to the archive, and you can drag files from the archive to an FM/2 directory window. OS/2's drag and drop "rendering" mechanism would make this painfully slow for any other application's window, as each file is processed individually (imagine extracting each file in an archive by typing a separate command line for each to get an idea how slow it would be). The menu extract items allow optimizing extraction so that only one "pass" needs to be done (note that Files->Extract must also deal with the OS/2 command line length restriction of 1024 bytes, so if you want to extract all the files in a large archive, Files->Extract All is a superior choice), and the internal drag to an FM/2 Directory Container window ... well, cheats, to get around it. You can get a popup menu in the container by pressing B2. Following is a discussion of the pull-down menus: Files Menu View causes FM/2 to extract the file(s) to a temporary directory and display it/them. If, for some reason, the files don't appear when you attempt to view them, try Testing the archive. Edit works as above but the file(s) are loaded into the configured editor instead of being viewed. File(s) can then be Refreshed back into the archive. Note: Do not attempt to Refresh files that were stored with pathnames. The pathname will either be lost or an additional file without pathname will be stored (depending on the archiver's behavior). Extract causes FM/2 to extract the selected file(s) to the extract directory. Extract w/ Dirs causes FM/2 to extract the selected file(s) to the extract directory in such a way that, if directories have been included with the filenames, the directories are recreated. Delete causes FM/2 to delete the selected file(s) from the archive. Exec causes FM/2 to extract all selected files to a temporary directory and then runs the cursored file. If you pick this from a popup menu, that would be the file under the mouse pointer when you requested the popup. This allows you to select DLLs, help files, data files, etc. required to get the application to run correctly as well as the executable file. Print causes FM/2 to extract and print selected files. This uses the FM/2 printing method, not the OS/2 printer objects (see Config->Printer in an FM/2 main window's pulldown menu). Find causes FM/2 to scan the extract directory for any files matching the names of the selected files within the archive and Collect them if found. Virus Scan causes FM/2 to extract the selected files and then run the configured virus checker. See the internal Settings notebook's Files/Dirs page. Extract All extracts all files from the archive to the extract directory. Extract All & Exit does the same thing but closes the archive listing window after starting the extraction. Extract All w/ Dirs does the same thing including any enclosed directories (i.e. files are extracted into the directories they were archived "with," if any, rather than all going into the extract directory). Extract All w/ Dirs & Exit does the same thing but closes the archive listing window after starting the extraction. (Note that if all you want to do to an archive is extract from it, you can do so without ever opening a contents box; just pull up a context menu on the archive in an FM/2 main window and select Extract. This is the fastest and most efficient method of extracting files from an archive.) Test tests the archive's integrity. See also: Editing Archiver Details ═══ 15.1. Archivers ═══ Archivers are programs that create files composed of (usually) compressed data that represents, and allows recreation of, normal (uncompressed) files. These archiver programs are widely used to create archive files for downloading from BBSs, information services and the Internet, and to extract from those archive files once downloaded. They're also used to create archives locally for backup purposes, as the files thus created are smaller than the original files and contain many other files within them. Following is a partial list of OS/2 archivers available at the time of this writing: Extension Name of archiver .ZIP Zip and Unzip .LZH LH .ZOO Zoo .RAR RAR .ARJ UnArj .ARC Arc You normally find these archivers with names like ZIP*.EXE or LH*.EXE, where the * will be a number indicating the version of the program. These are self-extracting archives (archives that extract themselves when you run the .EXE) so you don't get a chicken-or-egg scenario. You can find them on BBSs, information services and the Internet -- in other words, you can find them the same places where archive files are most often used. FM/2 can work with DOS archivers, but they aren't supported. If you decide you want to use your DOS archivers rather than OS/2 native archive programs, you'll have to figure it out on your own (see Editing Archiver Details topic and the ARCHIVER.BB2 datafile that came with FM/2). ═══ 15.2. Editing Archiver Details ═══ This dialog box, which you can reach from the Config menu, allows you to edit the details of an archiver. Entry boxes are present for all the twenty one fields represented in ARCHIVER.BB2 (the text file that contains control information about your archivers which FM/2 uses to interface with the archivers). It's probably easier for most people to edit ARCHIVER.BB2 directly with a text editor. NOTE: The simplest method to ensure that your archivers work properly with FM/2 is to make sure they're in a directory named in your PATH= statement, and check the names of the files to make sure they match what's on your system (i.e. UNZIP.EXE in both ARCHIVER.BB2 and on your hard disk, not UNZIP.EXE in one and UNZIP32.EXE in another). In the event that you attempt to list an archive and FM/2 feels you've probably bungled the entry in ARCHIVER.BB2, you'll be given an opportunity to use this dialog to fix the entry. In this case, you'll see the listbox at the right of the dialog filled with the listing of the archive that your archiver made. You can highlight a line and click the << button next to the Start List or End List fields to move the line to that entry field (these are the most common mistakes, and FM/2 cannot find any files if the Start List string is wrong). You can double-click on a listbox line to have FM/2 "parse" it into the Fld# text boxes for you, to make it easier to judge field positions for sizes, dates, and filenames. The filename field in particular is extremely important. If it's too high, FM/2 finds no files. If it's "in range" but wrong, FM/2 gets the wrong fields for filenames. You may still need to refer to your archiver's documentation, or run it to get the help on its command syntax. FM/2 can't do everything for you, but it holds your hand as best it can. Refer to the ARCHIVER.BB2 file that came with FM/2 for additional information and an example. When you've completed editing the archiver's details, click Okay. FM/2 will ask you if you want to rewrite ARCHIVER.BB2 (be sure you save the original copy for its complete notes; FM/2 will back it up one version to ARCHIVER.BAK). If you don't rewrite ARCHIVER.BB2, changes are good only for the current session (handy for testing). You can also get to this dialog box from Select Files' Config submenu. See also: Archiver Details Fields ═══ 15.2.1. Archiver Details Fields ═══ ID This field contains an ID for the archiver; something for human consumption. It's a good idea to include the version number of the archiver for reference. An example might be "LHArc 2.11". Add This field should contain the command that creates and adds files to an archive. An example might be "PKZIP.EXE -a" (NOTE: This example assumes the file is on your PATH (see PATH= in CONFIG.SYS). If it's not, you'd need to give a full pathname, like "C:\UTILS\PKZIP.EXE -a".) Note that commands should include the extension so that FM/2 can check them without guessing. Above this field is a button labeled "See." If clicked, the program named in this field will be run (you'll be given the opportunity to add arguments to the command line) in another window. This lets you check command syntax and archiver version, as well as assuring that FM/2 can find your archiver executables. Move This field should contain the command that moves files to the archive (adds then deletes the file). An example might be "ARC.EXE mwn". Extension This field contains the extension normally associated with files created by this archiver. An example might be "ZOO" for files created by the Zoo archiver. Extract This field contains the command that extracts files from the archive. This command should not delete the files from the archive when it extracts them, and *must* be present for FM/2 to show you a member of the archive (commands other than Extract and List may be left blank if necessary). An example might be "PKUNZIP.EXE -o". Note the "-o" option given; this tells PKUNZIP to automatically overwrite any existing files (FM/2 will check to see if any of the files exist and warn you if so). It's important to always include your archiver's "don't stop for user input" option; some things occur as detached processes and you can't interact with them; the program would be hung, which is uncool. Above this field is a button labeled "See." If clicked, the program named in this field will be run (you'll be given the opportunity to add arguments to the command line) in another window. This lets you check command syntax and archiver version. Extract w/Dirs This field contains the command that extracts files from the archive and places them into directories embedded in the archive. An example might be "LH.EXE x /o /s". Signature This field contains the signature for the archive type. There is usually a byte or few in a particular place in any archive that indicates that it is, indeed, an archive of that type. FM/2 uses these signatures to "sniff out" which archiver is used to manipulate the archive. Since these signatures sometimes contain characters which are "unprintable," you can use \x to represent any "strange" characters. A side effect of this is that two backslashes are required to represent a single backslash ("\\" == "\"). See C-style encoding for more information. To determine what an archiver's signature is, either ask the archiver's author or check several different archives of the type for one or more bytes present in each at the same location, usually near the beginning of the file. This field must be entered and valid for FM/2 to detect this type of archive (see also Sig(nature) Pos(ition)). List This field contains the command to list the archive's contents. This command *must* be present and correct for FM/2 to work properly with this type of archive. An example might be "ZOO.EXE v". Test This field contains the command to test the archive's integrity. An example might be "PKUNZIP.EXE -t". Add with paths This field contains the command to add files to the archiver with their paths (i.e. \FM3\FM3.EXE instead of just FM3.EXE). This can be omitted if the archiver doesn't support the command. An example might be "ZIP.EXE" (Zip defaults to adding paths). Move with paths As above, but moves the files instead of just adding them. An example might be "PKZIP -m -P". Add and recurse Adds files to the archive, with paths, and recurses into subdirectories. An example might be "LH a /s". Delete This field contains the command to delete files from the archive. An example might be "LH.EXE /o /d". Sig(nature) Pos(ition) This field contains a number indicating how many bytes into the file the signature is located. If this number is negative, FM/2 looks from the end of the file instead of the beginning. F(ile)Name Pos(ition) This field tells FM/2 which field on the line of an archive listing is the filename. Fields are numbered from 0. This field must be present and correct for FM/2 to get the right filenames from the archive listing. A -1 in this field tells FM/2 to use the last field in the archive listing line for the filename. To understand what "field on the line of an archive listing" means, think of a text line as being broken up into tokens, or words, separated by spaces. These tokens, or words, are fields. Therefore, I like Ike. contains three fields. Field 0 is "I", field 1 is "like", and field 3 is "Ike." OldS(i)z(e) Pos(ition) This field tells FM/2 which field on the line of an archive listing is the old (uncompressed) size of the file. If this isn't available or you don't care about it, you can enter a -1 to disable detection of this field entirely. NewS(i)z(e) Pos(ition) This field tells FM/2 which field on the line of an archive listing is the new (compressed) size of the file. If this isn't available or you don't care about it, you can enter a -1 to disable detection of this field entirely. Date Pos(ition) This field tells FM/2 which field on the line of an archive listing is where the time/datestring is. If this isn't available or you don't care about it, you can enter a -1 to disable detection of this field entirely. NumDateF(ie)lds This field tells FM/2 how many fields comprise the time/datestring. Start-of-list The line that comes just before the list of files in the archiver listing (see example below). You can use the << button to insert a selected line directly from the listbox into this field. End-of-list The line that comes just after the list of files in the archiver listing (see example below). You can use the << button to insert a selected line directly from the listbox into this field. Here's an example of an ARC listing (5.12mpl, command "ARC l"; you may need to widen the help windows for this to look right...): Name Length Date ============ ======== ========= <--this line is start-of-list MAKEFILE 374 28 Nov 89 QSORT.C 14279 29 Nov 89 QSORT.EXE 24629 29 Nov 89 STUFF.H 371 29 Nov 89 ==== ======== <--this line is end-of-list Total 4 39653 Note the filename is in position 0, old length in position 1, and the date starts in position 2, with 3 parts, and there's no new length field (so it'd be -1). Compare that to the archiver entry for ARC 5.12mpl in the "stock" ARCHIVER.BB2 and you should get a feel for what all those fields mean. ═══ 15.3. Archive Errors ═══ Sometimes FM/2 can't get information from the archiver about an archive. There are a couple of reasons this could happen: The information in ARCHIVER.BB2 may be incorrect for the archive type, or the archive may be damaged. Possibly the file "smelled" like an archive but wasn't. Perhaps you selected View->As archive on a file that wasn't actually an archive. When this happens, this dialog appears. You'll be given as much information as possible, including the text of what the archiver had to say about the archive when it was asked to list its contents, presented in an MLE, and allowed four choices: Edit the archiver details, Test the archive (if you have told FM/2 how to test archives with this archiver in ARCHIVER.BB2), View the archive, or Cancel the whole thing. Generally speaking, first Test the archive. If the archive is okay or if the test won't run at all, the problem is most likely in your archive information record in ARCHIVER.BB2. You can View the archive to assure yourself that it is, in fact, an archive, and perhaps hunt down the signature so you can add it to ARCHIVER.BB2 if it's not a listed archive type. ═══ 16. Editing Commandline ═══ Enter any optional arguments to the program here as you would on the command line. Remember that, when passing commands to a command processor such as CMD.EXE, like DIR, it's CMD.EXE /C DIR, not just CMD.EXE DIR. Full Screen, Maximized, Minimized, Invisible, Default: control how the program will be run. Default is usually in a window with OS/2 controlling the size of the initial window. Note that PM programs will always run on the desktop in a window and programs marked full screen only will always run in a full screen session. This corresponds to START /FS, /MAX, /MIN, /I or just START. Keep when done: determines whether the window will remain until you close it, or go away when the command completes. It's like START /K. For reasons of safety (too complex to explain briefly) you aren't allowed to Keep a DOS session; this flag is ignored for DOS executables. The Environment MLE control lets you enter environment strings for the program to inherit. Generally speaking, this is only for running DOS programs as any strings entered here are interpreted as DOS settings. For example, IDLE_SECONDS=5 would adjust the DOS setting IDLE_SECONDS to 5. Names of DOS settings are as shown in the Settings notebook for a DOS program. Note: FM/2 automatically stores command lines you use for you. You can get to them by clicking the V button beside the entry field. Up to 250 command lines can be stored in this manner, kept in a file named CMDLINES.DAT between sessions. Pressing the Delete key while one of the names in the listbox is highlighted will remove it. Pressing Ctrl + Delete will remove all entries. Tech note: FM/2 picks the directory in which to start the process using the following criteria: If the executable contains a path, FM/2 uses that directory. Otherwise, if the first filename argument contains a path, FM/2 uses that directory. Otherwise, FM/2 uses its default directory. See also (in the online Command Reference CMDREF.INF): CMD.EXE START command ═══ 17. Walk Directories ═══ This dialog lets you pick a directory by "walking" through the directory structure of your drives. It also lets you save and recall user-defined directories. On the left is a listbox containing all your drive letters. If you select a drive, the directories on that drive fill the center listbox. If you double-click one of these directories, any subdirectories of that directory are displayed, as well as a special directory named ".." which is actually the previous (parent) directory. In this manner you can walk to any directory on any drive. The listbox on the right of the window (User List) contains only directories that you add to it. To add a directory, click Add when the desired directory name is displayed in the entry field at the bottom of the window. To delete a directory, highlight it and click Delete. To switch to one of these user-defined directories, highlight it and click Okay or double-click the directory. You can add up to 100 directories. When the desired directory is displayed in the bottom entry field of the dialog, click Okay to exit. Click Cancel to exit without selecting a directory. ═══ 18. Checking Lists ═══ On occasion you may be asked to check a list of objects. You'll be presented with a list of highlighted objects in a listbox. To remove an object from the list, unhighlight it (hint: hold down the Ctrl key while clicking to unhighlight a single item). When you've got the list the way you want it, click Okay. Click Cancel to abort the action. Since this dialog may appear for more than one reason, additional information is provided in a multiline text field below the listbox. ═══ 19. Drag and drop dialog ═══ If you have the "Drag&Drop Dialog" toggle on, this dialog appears when you drop files onto an FM/2 Directory Container or object within one, or onto a directory object in the Drive Tree, or onto an object in the Collector. You can then pick the action to be performed from the buttons below the listbox. You can remove an object from the listbox if you've changed your mind about including it in the action (hint: hold down the Ctrl key while clicking to unhighlight a single item). The +Rename toggle causes Copy and Move operations to allow you to change the name of the destination using the standard Rename dialog. The Shadow toggle causes Object to create Shadow objects instead of "real" objects. Directory objects are always created as Shadow objects. Note that creating Shadows in directories not under the Desktop folder probably isn't desireable. The Launch button causes FM/2 to bring up the Execute dialog to run the target of the drop with the dragged objects as arguments. Drag and drop dialog shown about to initiate a rename operation. ═══ 20. Internal Viewer ═══ The internal viewer is used to view files unless you have an external viewing program defined in the internal Settings notebook's Viewers page, or the Fast internal viewer checkbox off. This viewer loads and displays a one megabyte text file in less than two seconds on a 486/66. The "old" viewer loads large text files considerably more slowly, but you might want to use it anyway; your choice. Both hex and ASCII (plain text) display modes are supported, and a variety of text sizes. These controls are under the View pulldown submenu. Selected lines are displayed in reverse video (white text on a black background). The current line has a ">" pointing at it in the left margin. Single selections and swipe selections are supported, as well as select and deselect all (under the Select pulldown submenu) and select/deselect all "found" lines (see Search below). Keyboard selection is performed with the spacebar, or you can hold down the Shift key while moving the cursored selection with the arrow keys. Discontiguous lines can be selected. If you double-click a line in the viewer window, a listbox appears above the text containing that line. Select (single-click) the line in the listbox and the viewer window will scroll to that line -- a sort of instant bookmarking facility. To remove a line from this bookmark listbox, double-click it in the listbox. The Clipboard pulldown submenu allows you to save selected lines to the clipboard or a file. Warning: Warp appears to have a 64K limit to the size of text that can be placed in the clipboard. You can also save lines that you've double-clicked into the bookmark listbox. When you write lines to a file, you append to the file (if it already exists). When you search for text in the file, you can search for more than one "phrase" at a time. Each line you fill into the MLE on the Search->Find text dialog is a separate search string. You can also search case sensitively (i.e. 'A' doesn't match 'a'), translate C-like \-encoded characters (\r = a carriage return, for example -- useful when searching binary files), and/or select lines as they're found by checking the appropriate checkboxes on the Find First dialog. All matching lines are displayed in red. The Search->Next found line command moves to the next highlighted line in the file (from the current position), and Search->Previous found line moves to the previous highlighted line. Colors are configurable. The "new" internal viewer contained within the main FM/2 window. If you're looking for more powerful viewing software, you might be interested in Michael Schacter's Hyperview PM shareware program. Michael can be contacted on Compuserve at user ID 76170,1627, and hangs out in the OS2SHARE (library 1 of OS2BVEN) forum. You can easily set Hyperview up to be used automatically by FM/2 using the Viewers page of the internal Settings notebook. ═══ 20.1. Internal Viewer/Editor ═══ The internal viewer/editor is an extremely simplistic MLE window. It is strongly recommended that you replace it with a better one via the Settings Notebook's Viewers page. The reasons are simple: a product designed specifically and exclusively for editing will generally do a better job, and MLEs tend to be sluggish when loading anything larger than about 58K. Suggestions: EPM (which comes with OS/2), or QEdit for OS/2 (an excellent and inexpensive text-mode editor from Semware highly recommended, and used, by FM/2's author) or Visual Slickedit by Microedge, PM and more powerful (and, of course, more expensive) than QEdit, also used by the author. There are many other editors, freeware, shareware and shrinkwrap, available, I simply listed those with which I have some familiarity and feel I can recommend as very good software. There's another, faster internal viewer (no editor) which is used as the default for viewing in FM/2. The internal viewer/editor creates a window for each file being viewed/ edited. The Windows->Dialog dialog can be used to quickly close several windows at once or find a particular window and bring it to the front. Note that when saving files the editor formats the file so that it appears as it does in the MLE. The appearance of a file can be different in the MLE or in the created disk file depending on various settings under the editor's Config->Format Control, notably Wrap. Be sure you have these settings right for the way you want the resultant file to look. When the viewer/editor is in readonly (viewing) mode, several menu items are disabled to prevent you from changing the file by accident. See also: Codepages Hex dumps The viewer/editor itself. ═══ 20.2. Codepages ═══ FM/2 will allow you to change the codepage (character set) in use in the internal viewer by selecting a codepage from the listbox. The codepage must be one of those supported in your CONFIG.SYS (see CODEPAGE in the online OS/2 command reference) or codepage 1004. ═══ 20.3. Hex Dumps ═══ Hex dumps show two hexadecimal digits (0-9 and a-f represent 0 to 15 decimal in hexadecimal (base 16) representation) for each byte of data followed by the actual data (some data may be unrepresentable in the current control and therefore displayed as a period):. 0000 0a 0d 46 4d 2f 32 0a 0d ..FM/2.. This is a common method for representing binary data (as opposed to text, or ASCII, data) for human viewing. ═══ 20.4. C-style \encoding ═══ In many areas, FM/2 allows you to use C-style backslash encoding (or more properly "escaping") to give constants you normally couldn't enter into an entry field or MLE. There are some differences from standard C escaping, so pay attention. The following escapes are permissible: \\ single backslash character \r carriage return (ASCII 13) \n linefeed (ASCII 10) \t tab (ASCII 9) \b backspace (ASCII 8) \a bell (ASCII 7) \f formfeed (ASCII 12) \' ' \" " \27 escape character (ASCII 27; this is decimal encoding) \x1b escape character (ASCII 27; this is hexadecimal encoding) Therefore, "This\x20is\32a test of \\FM2\\SETENV.\r\n" becomes "This is a test of \FM2\SETENV." (followed by a carriage return and linefeed). A hex dump of the above after conversion: 00000000 54 68 69 73 20 69 73 20 61 20 74 65 73 74 20 6f This is a test o 00000010 66 20 5c 46 4d 32 5c 53 45 54 45 4e 56 2e 0d 0a f \FM2\SETENV... ═══ 21. Hints and troubleshooting ═══ This section contains hints about obscure functions, FM/2 "secrets" and other rubbish. With most video display drivers, chording a directory in the Drive Tree (or clicking the middle button on a three button mouse) will cause FM/2 to open a new FM/2 Directory Container window for that directory without further ado. To set the label of a drive, pick Files->Info (Ctrl + i accelerator) on the root of the drive in the Drive Tree container (you'll find Format and Chkdsk in that menu, too). Remember, when using the internal editor (but don't, use your favorite editor instead), FM/2 saves the file as it appears in the MLE. If you don't want long lines wrapped (such as when editing CONFIG.SYS), turn wrap OFF before saving. If you want to change the fonts used in the Walk Directories dialog, drop a new font from the Font Palette onto a blank area of the dialog (not a control). The new font will be used in the directory listboxes and path entry field the next time you use the dialog. This is sometimes necessary when the default font for the dialog doesn't match up well to the codepage in use for non-US users, as non-ASCII characters might show up improperly. To invoke an OS/2 WPS association rather than an FM/2 internal association, try Open->Default from a context menu on the file object (F6 accelerator) or holding down the Ctrl key while double-clicking the object. Alternatively, use <> as the command line for an association and it'll open the object's default WPS view, which will run the program associated with the object under the WPS if there is one. Follow the hypertext link in this paragraph for detailed explanations. If you periodically do something to the same set of files, you might consider making a List of the files and Collecting them from that list file so you don't have to reselect them when you want to manipulate them later. Note that FM/2 has a Reselect command under the Views->Select menu, but it only remembers the last selection set -- using the List/Collect method you can reselect even in another session. Using AV/2 from the WPS: Drag an archive file onto the AV/2 object; this opens a view into the archive. Drag any files you want added to the archive into the container; they're added to the archive. To create a new archive, drag the objects to be archived onto the Make Archive object. For advanced users: You can add commands to FM/2's action bar menu. Create a file in FM/2's directory called FM3MENU.DAT. Here's a sample: ; ;Items listed in this file are added to FM/2's action bar (pulldown) menu. ;First word in a line MUST be MENUITEM. Next comes ID of command (see ;FM3TOOLS.DAT). Finally, the text to display on the menu for the command. ; ;Any line beginning with a semi-colon, like this one, is a comment. ; MENUITEM 1023 V~iew MENUITEM 1024 ~Edit MENUITEM 1010 I~nfo MENUITEM 1009 ~Attrs MENUITEM 1017 ~Open MENUITEM 1006 ~Kill If you want to set the extract directory in an Archive Container to the same directory as the archive is in, start a drag from one of the recessed text fields next to the Folder button and drop onto the Folder button. If you always want the extract directory to be the same as the directory in which the archive resides, enter * in the Ext. Path field of the internal Settings Notebook's Archivers page. You can drag files or directories onto an archive object in a Directory Container, and FM/2 will display the Archive dialog to allow you to add those files to the archive without having to first open the archive. If a Directory Container is in Details view, and if the titles above the columns are turned on, you can hold down ALT and click a title to cause the container to sort on that field (assuming the field is one of those on which FM/2 will sort -- filename, size, EA size, and dates are all valid). Works in Archive Containers, too. Old DOS hands will know this, but you can enter PRN when you want output to go to a printer rather than a disk file. You can even specify different printers using LPT? (i.e. LPT1, LPT2, LPT3, etc.). The first (lefthand) status line reacts in special ways to some mouse actions. Requesting a context menu gets a combination of the Config and Windows submenus. Click MB2 and drag, and the Drive Tree will be brought to the top of the heap and made active, and restored if it was minimized. Chord the mouse (or click MB3) and the Child window dialog will appear. If nothing shows in a Directory Container, Archive Container, the Collector or Drive Tree although you know there's something in it, check your Filter (Ctrl + f accelerator). If you have the bottom buttons on, the rightmost button will show the current filter status for the current container ( means everything is visible, means attributes are being used to filter, otherwise you'll see the current mask set). Remember to look at the attributes as well as the mask. The All button in the Filter dialog can be used to ensure that everything is visible. To compare the directories of two open Directory Containers without resorting to the Drive Tree, link-drag from one of the two recessed status windows in one Directory Container to the one of the two recessed status windows in the other. Remember, when you drag from one of those recessed areas, you drag the directory the Directory Container is "looking" into, and when you drop on one of them, you drop into the directory the Directory Container is "looking" into. They behave, for drag and drop and requesting context menus, like empty container space (whitespace). Clicking B1 on the rightmost top status window in a Directory Container can have two effects. Click on the right half of the window, and all files are selected. Click on the left half of the window, and everything is deselected. The leftmost top (recessed) status window can be clicked on with B1 just to set the focus to that Directory Container -- no action is performed. To begin a direct edit of the current file's name using the keyboard, use Ctrl + F10. To end (complete) the direct edit, use Ctrl + F11. To cancel an edit underway, use Escape. PM uses several ALT + F? accelerators to control frame windows. However, this applies to the current frame window, which can be within the main FM/2 window when run monolithically. Add Ctrl to these accelerators to affect the main window in that case. For example, Ctrl + Alt + F9 will minimize the main FM/2 window, while Alt + F9 will minimize whichever frame window has the focus. If you have the bottom buttons turned on in FM/2 and have a 3-button mouse, clicking the third button (or holding down Ctrl while clicking the first button) on them will change your sort type. Problem with ZIP or EZ drive -- slow scanning: See Edit->Drive flags command. The problem is that these drives respond very slowly to some commands and requests. You can tweak the drive's flags to alleviate some of this. Problem with details view refreshing -- top items come up blank. This is one of those never-fixed OS/2 bugs. Try unchecking the Immediate updates toggle in the Settings notebook. This usually works around this bug. To find any directory in the Drive Tree quickly, type Ctrl + Shift + F with the Drive Tree active, then type in the pathname of the directory that you want to find. To find the directory of a Directory Container in the Drive Tree, type Ctrl + Shift + F with the Directory Container active. The Collector can search for files based on a variety of criteria. The search function can also find potential duplicate files for you. Potential duplicates can also be tracked down in the See all files control. "I double-clicked on an INI file and FM/2 showed it in the text viewer." The INI file may not be a standard OS/2 INI file (Windoze programs, for example, use *.INI files that are flat text files). FM/2 will "fail" quietly to view such files using the INI viewer when you double-click them since there's no reason to bother you each time you want to look at one. If you're sure the file is a standard OS/2 INI file, use the Utilities menu to open the INI viewer, then choose Files->Other profile and enter the name of the file. FM/2 will then tell you the reason that it is unable to open the file -- you probably want to know about it since you're already in the INI viewer. Trouble starting FM/2: "Resource not found." Probably mismatched DLL and EXE files -- re-extract FM/2 from the distribution archive, being particularly sure to overwrite all old DLL and EXE files. ═══ 21.1. Command lines ═══ If you want to directly execute a self-extracting archive (or anything else, for that matter -- I mention self-extracting archives because FM/2 will attempt to view them rather than run them when you double-click them), press Ctrl + F5. This brings up the Command line dialog with the cursored file in the entry field. You can press the [Home] key to move the cursor to the start of the entry field and enter the name of a program to run with the file as an argument, or just press [Enter] to execute the file. Alternatively, if running FM/2 monolithically, press F5 to get a miniature command line at the bottom of the window. Enter any commands you'd like here, including metastrings. Type /HELP in the command line entry field for brief information specific to this control. Note that if you use the same command line time after time you will probably want to set up a Command for the command line to save time. With a Command, you can even execute a command line using an accelerator key -- can't beat that for speed. ═══ 22. Registration ═══ FM/2 is shareware -- after an initial 30 day evaluation period, you must register FM/2 or stop using it. Naturally, I hope you like it and want to register, so here's how you can do so: Ordering instructions Mail order form To make things as easy as possible, you can first edit the order form using the next link below, then print it using the link after that. Edit mail order form Print mail order form Credit card order form To make things as easy as possible, you can first edit the order form using the next link below, then print it using the link after that. Edit credit card order form Print credit card order form Text versions of these forms are supplied in the FM/2 archive (REGISTER.TXT and BMTORDER.FRM respectively). Registration involves a registration number generated from the information you provide and a few other variables you'll receive along with it. You can then use the online registration dialog to register your copy of FM/2. (If you were wondering, "Barebones Software" is just me.) Registration entitles you to free upgrades for at least one year from the time your FM/2 registration number was mailed. If you order the optional diskette package ($10.00 more), you also get a copy of the newest verison of FM/2 and a registration program you can run to avoid having to fill in the online registration dialog (this registration is retained even if you accidentally delete FM3.INI.). However, I do not recommend that overseas users order the new disk, as the postal service seems to quickly lose anything that's not in a standard sized envelope if it crosses a large body of water -- perhaps it makes the planes too heavy (grumble). Allow 4-6 weeks for delivery via Snail Mail if you order the diskette; serial numbers can be sent almost immediately if you include a Compuserve address. Feel free to use the unregistered version while you wait, without guilt -- there are no restrictions and only minimal reminders. FM/2 may also be registered on CIS (go SWREG). Its database number is 2859 (personal) or 4228 (commercial). Note that only diskless registrations may be obtained from CIS and that the cost is a bit higher to allow CIS a cut of the action. ═══ 22.1. Ordering instructions ═══ Fill in the Name: and Address: fields of the following form completely and legibly. Please type or print. Save a copy of the information. You will re-enter it in the registration dialog after receiving your registration number via mail. To avoid problems with differing codepages (trust me), don't use any characters outside the normal ASCII range (32-127). That includes accented foreign (foreign to this ignorant one-language American) characters. Sorry if this seems an inconvenience, but it could well save problems with getting the information to match with your registration number and avoid any delays. The Name: field and the first two lines of the Address: fields MUST be filled in. The third line of the Address: field is optional. Commercial registrants will probably give the name of their company in the Name: field. Personal registrations may not be used in commercial environments (in a business, government or church office, etc. -- check with me before assuming your organization is "exempt"). You can't pay for a personal registration with a company check; I'll throw away the check if you try. I do NOT share this information with anyone. I put it in a file drawer and there it stays -- I won't send you annoying advertisements and such. Commercial users note: there is a five percent (5%) discount for every ten (10) copies you register in a single order, up to fifty percent (50%). The discount applies to all copies purchased in that order. The following table may clarify: Number copies ordered Price you pay per copy ===================== ====================== 1-9 Full commercial price ($60.00) 10-19 Full commercial price - 5% 20-29 Full commercial price - 10% 30-39 Full commercial price - 15% 40-49 Full commercial price - 20% 50-59 Full commercial price - 25% 60-69 Full commercial price - 30% 70-79 Full commercial price - 35% 80-89 Full commercial price - 40% 90-99 Full commercial price - 45% 100+ Full commercial price - 50% Please DO take the time to drop a line with any suggestions you may have. That's where many of the improvements in FM/2 have come from -- registering users' input. ═══ 22.2. Mail order form ═══ Mail to: Mark Kimes 542 Merrick Shreveport, LA USA 71104 Name: ____________________________________________________________ Address: _________________________________________________________ _________________________________________________________ _________________________________________________________ CompuServe ID (if any): __________________________________________ Where you got FM/2: ____________________________ Version: ________ _____ personal-use registration(s) X $40.00 ea. US _____ commercial-use registration(s) X $60.00 ea. US _____ diskette with newest version X $10.00 ea. US (3-1/2" media will be sent) ------------- less commercial qty. discount _____________ _____ total registrations $_____________ US enclosed Commments/Suggestions/Banter (include separate sheet if desired): Can I quote you? ___ Yes ___ No ═══ 22.3. Credit card order form ═══ Name _____________________________________________________________ Address _____________________________________________________________ _____________________________________________________________ Phone _____________________________________________________________ E-Mail _____________________________________________________________ Product Quantity Price FM/2 personal registration: _____ x $40 US = $ _________ FM/2 commercial registration: _____ x $60 US* = $ _________ FM/2 diskettes (3.5"): _____ x $10 US = $ _________ Subtotal: $ _________ Shipping and Handling (no quantity limit): + $ _________ Email - Subject to Credit Card Verification Free Fax - Subject to Credit Card Verification.. Free Worldwide 1st Class ....................... Free 2nd Day Priority, USA Only ................ $ 4.00 US US Postal Service International Express (Including Canada and Mexico), allow up to 7-10 days ............................... $ 20.00 US Airborne Select Delivery (USA Only) $ 8.00 US FedEx Overnight, USA Only (delivery by 3:00 pm the following day) .............. $ 15.00 US FedEx Europe/Japan (guaranteed delivery within 3 days) .......................... $ 30.00 US Worldwide, any business with a valid FedEx account can charge shipping to their FedEx account and pay no shipping charges to us. Total: $ _________ ┌───────────────────────────────────────────────────────────────────┐ │ │ │ Circle one: VISA / Master / Discover / American Express │ │ │ │ Credit card number: _____________________________________________ │ │ │ │ Expiration date: ________________________________________________ │ │ │ │ Authorization signature: ________________________________________ │ │ │ └───────────────────────────────────────────────────────────────────┘ Fax Orders: (910) 350-2937 24 hours / 7 Days Voice Orders: 9:00am - 7:00pm EST (-5 GMT) (800) 414-4268 (orders only) (910) 791-7052 Online Orders via modem: (910) 350-8061 10 lines, all 14.4K (910) 799-0923 Direct 28.8K line Orders via telnet: bmt.wilmington.net Ordering and general ordering questions: Via AOL: bmtmicro via Compuserve: Thomas Bradford, 74031,307 via Internet: thomas.bradford@bmtmicro.com We accept Visa, Mastercard, Discover, and American Express. NOTE: BMT Micro is not a support center! Contact the author for support (see READ.ME). The folks at BMT Micro don't know any more about FM/2 than you do, they just take orders. * See commercial quantity discount schedule in REGISTER.TXT. ═══ 22.4. Online Registration ═══ If your copy of FM/2 is unregistered, the main window has a Register command. Selecting this command leads to a dialog that allows you to apply the information that you sent in when registering FM/2. In the mail you received a registration number, date and version number. Insert these into the appropriate fields (Reg. Number:, Date: and Version: respectively). The Name: and Address: fields are identical to those you mailed in with your check when registering; fill them in exactly as you did when registering. Don't include any enclosing quotation marks. The Nodes: field is how many copies you registered; normally this would be one (commercial users who ordered multiple registrations may be able to fill in more than one for this to allow more than one copy to run concurrently and possibly obtain a quantity discount). If you ordered a commercial registration, check the Commercial checkbox. Finally, press the [Enter] key or click Okay. If you filled in the fields appropriately, FM/2 tells you that you are now registered and the Register command vanishes from the main menu. Check the About box under the Help menu. And thanks for registering FM/2! Haven't registered yet? See the Registration topic! ═══ 23. Terminology ═══ Some definitions: GUI = Graphical User Interface WPS = WorkPlace Shell, OS/2's GUI PM = Presentation Manager, OS/2's graphical supersystem B1 = Mouse button 1, usually the left button B2 = Mouse button 2, usually the right button B3 = Mouse button 3, usually the middle button. Not all mice have three buttons. OS/2 will let you redefine the buttons using the WPS' Mouse object in the System Setup folder. Chord = Pressing B1 and B2 simultaneously Context menu = a popup menu obtained directly on an object of interest by clicking B2 while the mouse pointer is over the object. Context menus usually have options tailored for the specific object. Pulldown menu = the action bar menu just under the title bar of a window. If you don't know what a title bar is, run the OS/2 tutorial. System menu = the icon at the top left of most PM main windows. You can close a window by double-clicking the System menu icon with B1. Click once and you get a menu (called, oddly enough, the system menu). Conditional cascade menu = a submenu with the right-pointing link arrow contained in a button on the menu item. When the button is clicked, the submenu displays (cascades) as with a normal submenu. When the menu item itself is clicked, a default action from the submenu is activated. You can see which submenu item is the default as it has a checkmark by it. A conditional cascade menu generally gives you a default option for a command and several related commands; for instance, in an Archive Container, the Extract conditional cascade menu defaults to simply extracting the selected objects, but clicking the arrow button reveals several extract options that can be selected instead. FM/2 uses conditional cascade menus to keep the menus organized in such a way that often used commands are immediately available but many more commands are still accessible. Toolbar = an array of buttons, usually with pictures on them, that you can click with your mouse to cause commands to be activated -- a sort of menu for illiterates. The FM/2 toolbar can be turned on and off, can be changed from icon to text buttons and back again, and can display text below the icon buttons. Brief help appears on the title bar when the mouse passes over a toolbar button. Toolbox = a collection of buttons in a toolbar. FM/2 allows you to customize and save toolboxes which you can load into the toolbar as desired. Databar = a window to which you can cause FM/2 to be "minimized," or which can be run separately, that shows occasionally updated information about your system, such as free drive space, threads/processes, time/date, etc. Drag and drop = an intuitive way of manipulating objects -- this is more-or-less how you manipulate objects in the real world. If you don't know how to drag and drop, you really should run the OS/2 Tutorial. Drag and drop is a superior method for manipulating objects, as opposed to keyboard commands, because you choose both the command and the target in one operation. Dialog = a specialized input or informational window that's transient. You use it, then it goes away. Dialogs generally have their own specialized help available via a Help button. Direct Editing = a method of changing the text of an object, as when you change the name of an object on the WPS by pointing at it, holding down the ALT key and clicking the text with B1. FM/2 supports direct editing of file system object names as well as Subject and Longname fields in Details view. Default action = what happens when you double-click an object in a container (or put the cursor on it with the arrow keys and press [Enter]) The default action may sometimes be modified by the Shift state of the keyboard (if you hold down Shift or Ctrl while double-clicking or pressing [Enter]). The General Help topic explains default actions in detail. Accelerator keys = key combinations that allow you to quickly give a program a command without going through menus or toolbars. For example, FM/2's accelerator key to get help is Ctrl + F1. Note that accelerators are case sensitive, so that Ctrl + m isn't the same as Ctrl + M -- you'll need to hold down the Shift key or set Caps Lock to get the latter. Drive Tree = the special window that's always open in FM/2 displaying your drives in "tree" format. If subdirectories are available, there will be a "+" sign to the left of the drive which you can click to show the subdirectories. Note that floppy drives (A: and B:) aren't checked for subdirectories until you access them. Double-clicking a drive or directory in the Drive Tree opens a Directory Container or switches the current Directory Container to "look" into that directory (unless a Directory Container "looking" into that directory already exists, in which case it's brought to the foreground). Directory Container = a special window that "looks" into a particular directory and shows you what's in it. Archive Container = another special window that "looks" into an archive file and shows you what's in it. Collector = yet another special window that serves as a temporary storage place for file system objects you place into it. Objects in the Collector are a little like WPS Shadows in that they take up no additional space on your drives -- they just represent the objects so you can manipulate them. User Lists = optional dropdown combo boxes at the top of the FM/2 window (below the toolbar, if it's on) that give quick access to several often used things. Also known as quick lists. Filter = what you do when you selectively remove some of the file system objects from a container by giving filemasks and/or attribute masks to "filter" what's displayed. Filtering affects only what shows; the files and directories remain on the drive. Mask = a filemask that can contain wildcard characters (* and ?) and select one or more files. In FM/2, filemasks can usually contain multiple masks separated by semicolons. Current object = the object upon which commands will act (also called the cursored object). The current object in a container is indicated by a dotted outline around the object. The current object may or may not also be highlighted. There can only be one current object in a container. Highlighted objects = objects in a container which are indicated by a different color (usually darker) background. If the current object is also highlighted, commands affect all highlighted objects. Highlighted objects are sometimes referred to as selected objects. Note that in the Drive Tree there is always one highlighted object (which will also be the current object), but in other containers there can be many or no highlighted objects, and, depending on the selection type you use (see Windows toggle page), the current object may not be a highlighted object. Thus understanding the distinction between current and highlighted objects is important. Autoview window = an optional window (Config->Toggle Autoview Window) that shows you the first few lines of current file objects. State = the state of the FM/2 main window at any given time -- what directories are open, where their Directory Containers are positioned, etc. Tree view = a container view similar to an inverted tree, with roots at the top and leaves at the bottom. The FM/2 Drive Tree is an example of this sort of view, as is the default view of an OS/2 WPS Drive object. Icon view = a container view showing the object's name below the object's icon. This is the default view for a WPS folder. Name view = a container view showing the object's name beside the object's icon. Text view = a container view showing only the object's name. Text view shows more objects for a given space than any other view, but the least amount of information. Details view = a container view showing full object information in rows. A detail container is split into two sides with one vertical scrollbar serving both sides, and two separate horizontal scrollbars. Details view shows more information on the objects within it than any other view; it also displays fewer objects for a given space. MLE = Multi Line Edit control. This is something like a text editor. They can (and do) come in all sizes. See also these pictures: FM/2 Window Layout Current object & selected objects Cascade menus & accelerator keys Context and sub menus Drag and drop Direct editing ═══ 23.1. Current object & selected objects ═══ FM/2 showing the current object (the one with the dotted outline; the mouse pointer is pointing at it) and selected objects (those with the darker outline). If the current object is also selected, commands affect all selected objects. Otherwise, commands affect only the current object. ═══ 23.2. Cascade menus & accelerator keys ═══ FM/2 with a cascade menu off a pulldown menu open: Notice the checked default action "FM/2 Window" on the Open cascade menu -- this is what would be executed if you clicked Open other than on the arrow button. Clicking the button opens the cascade menu. Commands is an example of a standard submenu (note the arrow isn't a button). If you click commands anywhere it opens the submenu; there is no default action. Notice that listed beside "FM/2 Window" is the accelerator key Ctrl + o. This is the command to open a new FM/2 window, and is the fastest way to input a command. The mouse pointer is pointing at "Default" (accelerator F6). This command will perform the default WPS action on an object (like double-clicking an object on the desktop or in another WPS folder). WPS associations are honored when using this command (while double-clicking an object in an FM/2 container uses FM/2's associations). Finally, note that the Files pulldown menu is a "ghost" for a context menu requested on a file/directory object. The Views pulldown is a "ghost" for a context menu requested over container whitespace. Since you can select the container and/or item while requesting a context menu in one smooth motion with a mouse, context menus are faster than pulldowns. The "ghosts" are mainly for people without a pointing device available. ═══ 23.3. Context and sub menus ═══ FM/2 with a sub menu off a context menu open: Here FM/2 is displaying a context menu that was requested over whitespace in the Drive Tree. This is the same thing you'd get if you'd clicked the Views pulldown menu with the Drive Tree active (titlebar highlighted). The Sort submenu is open and the mouse pointer is over the Dirs First command. Notice that the Collector is also open along with a Directory Container. ═══ 23.4. Drag and drop ═══ FM/2 with a drag and drop operation underway: Several files are being moved from a Directory Container to a directory in the Drive Tree. Notice that in this picture several Directory Containers are open with different views (Details, Text and Name view) and that mini-icons are used in the Drive Tree container. ═══ 23.5. Direct editing ═══ An example of direct editing. The ALT key was pressed and held while the filename in the container was clicked with B1 (the mouse pointer is pointing at the object being edited). A new name can then be entered into the small MLE under the object's icon (where the name usually shows), and another click of B1 will accept the input (Escape will abort). Note that the entire pathname of the object is presented for editing -- this allows you to move the object as you rename it. ═══ 24. FM/2 Lite ═══ "FM/2 Lite" is an alternate "personality" for FM/2. It's invoked from the FM4.EXE executable rather than FM3.EXE. This personality is a simplified version of the standard FM/2 interface. You get two Directory Containers and an optional Drive Tree. You have a choice in how to split the screen (Windows->Tile backwards) -- vertically or horizontally. The internal windows do not have titlebars and cannot be moved or sized (the Drive Tree, if open, can have its width changed by dragging the right edge of the window). The Files, Views and Utilities menus have been simplified by omitting seldom used "advanced" commands. The omitted commands are still available via context menus and accelerator keys. A few other features have been left out to simplify the interface. If you consider yourself an advanced user, what are you doing here? :-) The current window within the main window is surrounded by a red line. If the Drive Tree is active and the current window, the Directory Container that will be affected by double-clicking a directory in the Tree is surrounded by a dark red line. Tab and Shift-Tab can be used to switch between the windows. Other topics that might be of interest: Terminology General Help How to use FM/2's help Archive Container window layout Text viewer window layout ═══ 25. OS/2 error list ═══ Following are a list of errors you might occasionally see from OS/2, and what they mean: 2 ERROR_FILE_NOT_FOUND File not found. 3 ERROR_PATH_NOT_FOUND Path not found. 4 ERROR_TOO_MANY_OPEN_FILES Too many open files (no handles left). 5 ERROR_ACCESS_DENIED Access denied. 6 ERROR_INVALID_HANDLE Invalid handle. 11 ERROR_BAD_FORMAT Invalid format. 15 ERROR_INVALID_DRIVE Invalid drive specified. 16 ERROR_CURRENT_DIRECTORY Attempting to remove current directory. 18 ERROR_NO_MORE_FILES No more files. 19 ERROR_WRITE_PROTECT Attempt to write on write-protected diskette. 20 ERROR_BAD_UNIT Unknown unit. 21 ERROR_NOT_READY Drive not ready. 23 ERROR_CRC Data error (CRC). 25 ERROR_SEEK Seek error. 26 ERROR_NOT_DOS_DISK Unknown media type. 27 ERROR_SECTOR_NOT_FOUND Sector not found. 28 ERROR_OUT_OF_PAPER Printer out of paper. 29 ERROR_WRITE_FAULT Write fault. 30 ERROR_READ_FAULT Read fault. 31 ERROR_GEN_FAILURE General failure. 32 ERROR_SHARING_VIOLATION Sharing violation. 33 ERROR_LOCK_VIOLATION Lock violation. 34 ERROR_WRONG_DISK Invalid disk change. 35 ERROR_FCB_UNAVAILABLE FCB unavailable. 36 ERROR_SHARING_BUFFER_EXCEEDED Sharing buffer overflow. 50 ERROR_NOT_SUPPORTED Network request not supported. 65 ERROR_NETWORK_ACCESS_DENIED Access denied. 80 ERROR_FILE_EXISTS File exists. 82 ERROR_CANNOT_MAKE Cannot make directory entry. 84 ERROR_OUT_OF_STRUCTURES Too many redirections. 85 ERROR_ALREADY_ASSIGNED Duplicate redirection. 88 ERROR_NET_WRITE_FAULT Network device fault. 99 ERROR_DEVICE_IN_USE Device in use. 107 ERROR_DISK_CHANGE Insert drive B disk into drive A. 108 ERROR_DRIVE_LOCKED Drive locked by another process. 110 ERROR_OPEN_FAILED Open/create failed due to explicit fail command. 112 ERROR_DISK_FULL Not enough space on the disk. 113 ERROR_NO_MORE_SEARCH_HANDLES Cannot allocate another search structure and handle. 118 ERROR_INVALID_VERIFY_SWITCH Invalid value passed for verify flag. 123 ERROR_INVALID_NAME Illegal character or bad file-system name. 124 ERROR_INVALID_LEVEL Non-implemented level for information retrieval or setting. 125 ERROR_NO_VOLUME_LABEL No volume label found with DosQFsInfo command. 130 ERROR_DIRECT_ACCESS_HANDLE Handle operation invalid for direct disk-access handles. 131 ERROR_NEGATIVE_SEEK Attempting seek to negative offset. 132 ERROR_SEEK_ON_DEVICE Application trying to seek on device or pipe. 133 ERROR_IS_JOIN_TARGET Drive has previously joined drives. 134 ERROR_IS_JOINED Drive is already joined. 135 ERROR_IS_SUBSTED Drive is already substituted. 136 ERROR_NOT_JOINED Cannot delete drive that is not joined. 137 ERROR_NOT_SUBSTED Cannot delete drive that is not substituted. 138 ERROR_JOIN_TO_JOIN Cannot join to a joined drive. 139 ERROR_SUBST_TO_SUBST Cannot substitute to a substituted drive. 140 ERROR_JOIN_TO_SUBST Cannot join to a substituted drive. 141 ERROR_SUBST_TO_JOIN Cannot substitute to a joined drive. 142 ERROR_BUSY_DRIVE Specified drive is busy. 143 ERROR_SAME_DRIVE Cannot join or substitute a drive to a directory on the same drive. 144 ERROR_DIR_NOT_ROOT Directory must be a subdirectory of the root. 145 ERROR_DIR_NOT_EMPTY Directory must be empty to use join command. 146 ERROR_IS_SUBST_PATH Path specified is being used in a substitute. 147 ERROR_IS_JOIN_PATH Path specified is being used in join. 148 ERROR_PATH_BUSY Path specified is being used by another process. 149 ERROR_IS_SUBST_TARGET Cannot join or substitute drive having directory that is target of a previous substitute. 154 ERROR_LABEL_TOO_LONG Volume label too big. 161 ERROR_BAD_PATHNAME Bad path name passed to exec. 166 ERROR_UNC_DRIVER_NOT_INSTALLED Default redir return code 167 ERROR_LOCK_FAILED Locking failed. 168 ERROR_SWAPIO_FAILED Swap IO failed. 169 ERROR_SWAPIN_FAILED Swap in failed. 170 ERROR_BUSY Busy. 192 ERROR_EXE_MARKED_INVALID EXE marked invalid - link detected errors when application created. 193 ERROR_BAD_EXE_FORMAT Bad EXE format - file is DOS mode program or improper program. 206 ERROR_FILENAME_EXCED_RANGE File name or extension greater than "8.3" characters. 211 ERROR_INFO_NOT_AVAIL File system information not available for this file. 212 ERROR_LOCKED Locked error. 250 ERROR_CIRCULARITY_REQUESTED Renaming a directory that would cause a circularity problem. 251 ERROR_DIRECTORY_IN_CDS Renaming a directory that is in use. 252 ERROR_INVALID_FSD_NAME Trying to access nonexistent FSD. 253 ERROR_INVALID_PATH Bad pseudo device. 254 ERROR_INVALID_EA_NAME Bad character in name, or bad cbName. 255 ERROR_EA_LIST_INCONSISTENT List does not match its size, or bad EAs in list. 256 ERROR_EA_LIST_TOO_LONG FEAList > 64K-1 bytes. 259 ERROR_NO_MORE_ITEMS DosQFSAttach ordinal query. 260 ERROR_SEARCH_STRUC_REUSED DOS mode findfirst/next search structure reused. 263 ERROR_INVALID_ATTR Invalid attribute. 266 ERROR_CANNOT_COPY Cannot copy. 267 ERROR_DIRECTORY Used by DOSCOPY in doscall1. 268 ERROR_OPLOCKED_FILE Oplocked file. 270 ERROR_VOLUME_CHANGED Volume changed. 275 ERROR_EAS_DIDNT_FIT EAS didnt fit. ═══ 26. Keys help ═══ Directory Containers Note: many commands also available in Drive Tree and Collector windows. Ctrl + A Archive Ctrl + a Change attributes Ctrl + C Collect Ctrl + c Copy Ctrl + D Permanently delete Ctrl + d Delete Ctrl + E Edit extended attributes Ctrl + e Edit file Ctrl + F Find directory in Drive Tree Ctrl + f Filter Ctrl + G See all files from cursored directory Ctrl + g See all files from Container directory Ctrl + H Detach a drive from a remote resource (Drive Tree only) Ctrl + i Information Ctrl + l Play multimedia files (via FM2Play.EXE) Ctrl + M Make directory Ctrl + m Move Ctrl + o Open window Ctrl + q Quick tree for current directory Ctrl + Q Quick tree for Container Ctrl + P Previous directory Ctrl + p Print Ctrl + R Rescan Ctrl + r Rename Ctrl + S Save filenames to listfile (catalog) Ctrl + s Subject Ctrl + U UUdecode files Ctrl + u Update objects Ctrl + v View Ctrl + w Walk to new directory Ctrl + x Extract Ctrl + Z Directory sizes Ctrl + > Previous directory Ctrl + . Parent directory Ctrl + + Deselect mask Ctrl + = Select mask Ctrl + ? Select all directories Ctrl + / Select all files Ctrl + | Select all directories Ctrl + \ Deselect all Ctrl + { Append to clipboard Ctrl + [ Save to clipboard Ctrl + } Deselect clipboard Ctrl + ] Select clipboard Ctrl + ; Invert selection Ctrl + ' Reselect Delete Delete Alt + Insert Create a new file F3 Close window Ctrl + F5 Command line F6 Open default F7 Open settings Ctrl + F7 Show sort submenu Ctrl + F8 Show select submenu Ctrl + 1 Invoke first configured Command Ctrl + 0 Invoke tenth configured Command Ctrl + Shift + 1 Invoke eleventh configured Command Ctrl + Shift + 0 Invoke twentieth configured Command Specific to Collector Ctrl + g Seek and scan files Escape Stop seek and scan in progress Archive Containers Ctrl + d Delete Ctrl + E Execute Ctrl + e Edit Ctrl + f Filter Ctrl + i Find Ctrl + l Play multimedia files (via FM2Play.EXE) Ctrl + p Print Ctrl + R Rescan Ctrl + T Test Ctrl + V Virus scan Ctrl + v View Ctrl + w Walk to new extract directory Ctrl + X Extract w/ directories Ctrl + x Extract Ctrl + + Deselect mask Ctrl + = Select mask Ctrl + / Select all Ctrl + \ Deselect all Ctrl + ; Invert selection Ctrl + ' Reselect F3 Close window FM/2 monolithic window Ctrl + k Keys help Ctrl + O Walk to new directory, open Container Ctrl + t Tile windows Ctrl + W Window dialog F2 Collector Ctrl + F3 Close FM/2 Ctrl + Shift + F4 Autoview .COMMENTS EA Ctrl + F4 Autoview file contents F4 Toggle autoview window F5 Command line Ctrl + Shift + F8 Toggle drivebar Ctrl + F8 Toggle bottom buttons F8 Toggle user lists F9 OS/2 window Ctrl + F10 Begin direct edit Ctrl + F11 End direct edit Tab Next frame window Shift + Tab Previous frame window Ctrl + Tab Autoview window (if open) FM/2-Lite monolithic window Ctrl + k Keys help Ctrl + W Change both directories F2 Collector Ctrl + F3 Close FM/2-Lite Ctrl + Shift + F4 Autoview .COMMENTS EA Ctrl + F4 Autoview file contents F4 Toggle autoview window F5 Command line Ctrl + Shift + F8 Toggle drivebar Ctrl + F8 Toggle bottom buttons F8 Toggle user lists F9 OS/2 window Ctrl + F10 Begin direct edit Ctrl + F11 End direct edit Tab Next frame window Shift + Tab Previous frame window Ctrl + Tab Autoview window (if open) Fast internal viewer Ctrl + f Find first Ctrl + h Hex mode Ctrl + j Goto line Ctrl + N Next selected line Ctrl + n Find next Ctrl + o Goto offset Ctrl + P Previous selected line Ctrl + p Find previous Ctrl + v View filename at start of line Ctrl + w Write to file Ctrl + / Select all Ctrl + \ Deselect all Ctrl + ; Invert selection Ctrl + { Append to clipboard Ctrl + [ Save to clipboard Tab Switch to bookmark window (if open) F3 or Esc Close window F11 Next blank line F12 Previous blank line Internal viewer/editor Ctrl + a Append to clipboard Ctrl + c Change filename Ctrl + f Find first Ctrl + I Case insensitive Ctrl + i Insert file Ctrl + j Jump to line Ctrl + n Find next Ctrl + q Quit Ctrl + R Toggle readonly Ctrl + s Save file Ctrl + u Undo Ctrl + W Write block Ctrl + w Toggle wordwrap Ctrl + y Delete line Ctrl + / Select all Ctrl + \ Deselect all F2 Set font F3 Close window Escape Close window (if viewing) See all files window Ctrl + A Archive Ctrl + a Change attributes Ctrl + C Collect Ctrl + c Copy Ctrl + D Permanently delete Ctrl + d Delete Ctrl + E Edit extended attributes Ctrl + f Filter Ctrl + i Information Ctrl + m Move Ctrl + p Print Ctrl + R Rescan Ctrl + r Rename Ctrl + S Save names to listfile (catalog) Ctrl + s Subject Ctrl + U UUdecode files Ctrl + x Extract Ctrl + + Deselect mask Ctrl + = Select mask Ctrl + / Select all Ctrl + \ Deselect all Ctrl + ; Invert selection Ctrl + { Append to clipboard Ctrl + [ Save to clipboard F3 Close window F6 Open default F7 Open settings INI viewer Ctrl + a Add entry Ctrl + C Copy application Ctrl + c Copy keyword Ctrl + D Delete application Ctrl + d Delete keyword Ctrl + e Edit entry Ctrl + F Filter Ctrl + f Refresh Ctrl + o Other profile Ctrl + R Rename application Ctrl + r Rename keyword Ctrl + s System profile Ctrl + u User profile F3 Close window Tab Next control window Shift + Tab Previous control window Miscellaneous To control the monolithic frame window, use Ctrl + the usual keys (see system menu). Notes Remember, accelerator keys are case sensitive -- Ctrl + r isn't the same thing as Ctrl + R. The latter is obtained by holding down both Ctrl and Shift while pressing the "R" key. ═══ 27. Mouse click help ═══ The following mouse clicks apply to the Drive Tree, Directory Containers and the Collector: B1x2 + Ctrl + Alt Global file view (directories only) B1x2 + Ctrl + Shift Open WPS Settings notebook B1x2 + Ctrl Open WPS default view B1x2 + Shift Open a new FM/2 Directory Container (directories) or direct view (files) B1x2 Switch Directory Container (directories) or "best" view (files) B1 + Alt Direct rename item B2 Context menu Chord or B3x2 Open a new FM/2 Directory Container (Drive Tree only) Notes: "Direct view" means that the file is viewed in the configured viewer without regard to associations, archive status, executability, etc. "Best view" means that the file is first checked for associations, then archive status, then to see if it's executable, then finally passed to the configured viewer if all other tests fail to find a match. "B1" means "click with mouse button one." "B1x2" means "double-click with mouse button one." "B1x2 + Ctrl" means "double-click with mouse button one while holding down the Ctrl key." There are keyboard equivalents for these mouse actions, in case you're allergic to rodents. ═══ 28. File Dialog ═══ This works exactly like the standard OS/2 file dialog with the exception that it contains a UserDirs dropdown list. See the Walk Directories topic for more info on user directories, including how to set them up. The idea here is pretty simple -- you want to give the dialog a filename. You can type it directly into the Filename entry field or select it using the list controls. The Drives dropdown list can be used to change the current drive. The Directories listbox can be used to switch directories on the current drive (as can the UserDirs dropdown). The Files listbox can be used to pick an existing file. You can also enter a simple filemask (for example, "*.EXE") into the Filename entry field to filter the files displayed in the Files listbox.